题目
给出三个均为 严格递增排列 的整数数组 arr1
,arr2
和 arr3
。
返回一个由 仅 在这三个数组中 同时出现 的整数所构成的有序数组。
示例1:
1 | 输入: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8] |
提示:
- 1 <= arr1.length, arr2.length, arr3.length <= 1000
- 1 <= arr1[i], arr2[i], arr3[i] <= 2000
解法
解法一:
三指针
JAVA
1 | public List<Integer> arraysIntersection(int[] arr1, int[] arr2, int[] arr3) { |
解法二:
计数
因为题目限制了值最大不会超过2000。那么就可以声明一个2001长度的数组。
如果一个数字在每个数组中都出现过,那么,它的计数一定是3
Java
1 | public List<Integer> arraysIntersection(int[] arr1, int[] arr2, int[] arr3) { |