Your question is Top CPU Spikes from Logs. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Given a list of Linux process samples, where each sample is a tuple (timestamp, pid, process_name, cpu_percent), write a function that returns the top k sudden CPU spikes. A spike occurs when a process's CPU usage increases by at least threshold between two consecutive samples for the same pid. Return the spikes sorted by largest increase first, breaking ties by earlier timestamp.
def top_cpu_spikes(samples, threshold, k):