leetcode-350- 两个数组的交集 II
2019-08-02 23:23
246 查看
问题:
package com.example.demo; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test350 { /** * 双指针,先对数据进行排序预处理,然后使用两个指针分别找到两个数组中相同的值,并放到list中 */ public int[] intersect(int[] nums1, int[] nums2) { if (nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0) { return new int[0]; } List<Integer> list = new ArrayList<>(); Arrays.sort(nums1); Arrays.sort(nums2); int pointer1 = 0; int pointer2 = 0; while (pointer1 < nums1.length && pointer2 < nums2.length) { if (nums1[pointer1] < nums2[pointer2]) { pointer1++; } else if (nums1[pointer1] > nums2[pointer2]) { pointer2++; } else { list.add(nums1[pointer1]); pointer1++; pointer2++; } } int[] res = new int[list.size()]; for (int i = 0; i < list.size(); i++) { res[i] = list.get(i); } return res; } public static void main(String[] args) { Test350 t = new Test350(); int[] arr1 = {4, 9, 5}; int[] arr2 = {9, 4, 9, 8, 4}; int[] intersect = t.intersect(arr2, arr1); for (int i : intersect) { System.out.print(i + " "); } } }
相关文章推荐
- leetcode 350 两个数组的交集II
- 用python写leetcode【7】 --两个数组的交集 II(350)、递增的三元子序列(334)
- [leetcode] Python(4)--两个数组的交集II(350)、加一(66)、移动零(283)
- Leetcode 两个数组的交集 II
- [easy]【leetcode】【java】 Intersection of Two Arrays II 两个数组的交集
- Leetcode:350. Intersection of Two Arrays II 求两个数组的交集
- LeetCode(初级算法)数组篇--两个数组的交集II c++
- leetcode-两个数组的交集 II
- [LeetCode] Intersection of Two Arrays II 两个数组的交集II
- LeetCode--350. Intersection of Two Arrays II(两个数组的交集)Python
- golang_算法: leetcode_数组06-两个数组的交集 II
- LeetCode:两个数组的交集 II
- Leetcode 350. Intersection of Two Arrays II 两个数组的交集 II
- leetcode_350(求两个数组的交集)
- [leetcode]两个数组的交集II
- [leetcode]两个数组的交集 II[javascript]
- leetcode 刷题记录(高频算法面试题汇总)--两个数组的交集 i & ii
- leetcode-350 Intersection of Two Arrays II 求两个数组的交集 面试见到了吗?
- leetcode 350. Intersection of Two Arrays II 两个数组的交集
- 350. 两个数组的交集 II