LC: 1213. Intersection of Three Sorted Arrays
1213. Intersection of Three Sorted Arrays
Given three integer arrays arr1, arr2 and arr3 sorted in strictly increasing order, return a sorted array of only the integers that appeared in all three arrays.
Example 1:
Input: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]
Output: [1,5]
Explanation: Only 1 and 5 appeared in the three arrays.Example 2:
Input: arr1 = [197,418,523,876,1356], arr2 = [501,880,1593,1710,1870], arr3 = [521,682,1337,1395,1764]
Output: []Constraints:
1 <= arr1.length, arr2.length, arr3.length <= 10001 <= arr1[i], arr2[i], arr3[i] <= 2000
The Essence:
Es ist hier betont, dass alle 3 Arrays streng aufsteigend sortiert sind. Der Problemlöser kann diese Information anwenden, um 3 Zeiger zu diesen Arrays entsprechend zu inkrementieren.
Details:
Da wir wissen, dass Arrays in streng aufsteigender Reihenfolge sortiert sind, können wir alle gleichzeitig durchlaufen, indem wir für jedes einen Zeiger verwenden. Wenn wir für alle Zeiger denselben Wert begegnen, finden wir einen Schnittpunkt. Andernfalls sollten wir die Zeiger durch Wertvergleich verschieben.
Solution(s):
Default Code:
Last updated