mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 11:43:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>Table: <code>Activity</code></p>
 | 
						|
 | 
						|
<pre>
 | 
						|
+----------------+---------+
 | 
						|
| Column Name    | Type    |
 | 
						|
+----------------+---------+
 | 
						|
| machine_id     | int     |
 | 
						|
| process_id     | int     |
 | 
						|
| activity_type  | enum    |
 | 
						|
| timestamp      | float   |
 | 
						|
+----------------+---------+
 | 
						|
The table shows the user activities for a factory website.
 | 
						|
(machine_id, process_id, activity_type) is the primary key (combination of columns with unique values) of this table.
 | 
						|
machine_id is the ID of a machine.
 | 
						|
process_id is the ID of a process running on the machine with ID machine_id.
 | 
						|
activity_type is an ENUM (category) of type ('start', 'end').
 | 
						|
timestamp is a float representing the current time in seconds.
 | 
						|
'start' means the machine starts the process at the given timestamp and 'end' means the machine ends the process at the given timestamp.
 | 
						|
The 'start' timestamp will always be before the 'end' timestamp for every (machine_id, process_id) pair.</pre>
 | 
						|
 | 
						|
<p> </p>
 | 
						|
 | 
						|
<p>There is a factory website that has several machines each running the <strong>same number of processes</strong>. Write a solution to find the <strong>average time</strong> each machine takes to complete a process.</p>
 | 
						|
 | 
						|
<p>The time to complete a process is the <code>'end' timestamp</code> minus the <code>'start' timestamp</code>. The average time is calculated by the total time to complete every process on the machine divided by the number of processes that were run.</p>
 | 
						|
 | 
						|
<p>The resulting table should have the <code>machine_id</code> along with the <strong>average time</strong> as <code>processing_time</code>, which should be <strong>rounded to 3 decimal places</strong>.</p>
 | 
						|
 | 
						|
<p>Return the result table in <strong>any order</strong>.</p>
 | 
						|
 | 
						|
<p>The result format is in the following example.</p>
 | 
						|
 | 
						|
<p> </p>
 | 
						|
<p><strong class="example">Example 1:</strong></p>
 | 
						|
 | 
						|
<pre>
 | 
						|
<strong>Input:</strong> 
 | 
						|
Activity table:
 | 
						|
+------------+------------+---------------+-----------+
 | 
						|
| machine_id | process_id | activity_type | timestamp |
 | 
						|
+------------+------------+---------------+-----------+
 | 
						|
| 0          | 0          | start         | 0.712     |
 | 
						|
| 0          | 0          | end           | 1.520     |
 | 
						|
| 0          | 1          | start         | 3.140     |
 | 
						|
| 0          | 1          | end           | 4.120     |
 | 
						|
| 1          | 0          | start         | 0.550     |
 | 
						|
| 1          | 0          | end           | 1.550     |
 | 
						|
| 1          | 1          | start         | 0.430     |
 | 
						|
| 1          | 1          | end           | 1.420     |
 | 
						|
| 2          | 0          | start         | 4.100     |
 | 
						|
| 2          | 0          | end           | 4.512     |
 | 
						|
| 2          | 1          | start         | 2.500     |
 | 
						|
| 2          | 1          | end           | 5.000     |
 | 
						|
+------------+------------+---------------+-----------+
 | 
						|
<strong>Output:</strong> 
 | 
						|
+------------+-----------------+
 | 
						|
| machine_id | processing_time |
 | 
						|
+------------+-----------------+
 | 
						|
| 0          | 0.894           |
 | 
						|
| 1          | 0.995           |
 | 
						|
| 2          | 1.456           |
 | 
						|
+------------+-----------------+
 | 
						|
<strong>Explanation:</strong> 
 | 
						|
There are 3 machines running 2 processes each.
 | 
						|
Machine 0's average time is ((1.520 - 0.712) + (4.120 - 3.140)) / 2 = 0.894
 | 
						|
Machine 1's average time is ((1.550 - 0.550) + (1.420 - 0.430)) / 2 = 0.995
 | 
						|
Machine 2's average time is ((4.512 - 4.100) + (5.000 - 2.500)) / 2 = 1.456
 | 
						|
</pre>
 |