2215. 找出两数组的不同
小于 1 分钟
2215. 找出两数组的不同简单
解题思路:
题目中说明1000 <= nums1[i], nums2[i] <= 1000
,定义两个长度为 2001 的数组n1
,n2
,遍历 nums1
与 nums2
,将对应数组所对应下标的值修改为1
遍历n1
,n2
。将同下标数不同的值存入对应list
public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
int[] n1 = new int[2001];
int[] n2 = new int[2001];
for (int i = 0; i < Math.max(nums1.length, nums2.length); i++) {
if(i < nums1.length) n1[nums1[i] + 1000] = 1;
if(i < nums2.length) n2[nums2[i] + 1000] = 1;
}
for (int i = 0; i < n1.length; i++) {
if(n1[i] == 1 && n2[i] == 0){list1.add(i - 1000);}
if(n1[i] == 0 && n2[i] == 1){list2.add(i - 1000);}
}
return Arrays.asList(list1, list2);
}
Powered by Waline v2.15.5