LeetCode每日刷题:两个数组的交集

题目:

给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序

LeetCode每日刷题:两个数组的交集_第1张图片

解题思路:双指针+排序:先将数组利用sort方法进行排序,然后分别定义下标index1和index2分别遍历数组1和数组2,与此同时建立一个新数组(数组长度为两个数组之间较短的那一个数组长度),如果nums1和nums2的值相等,那么index1和index2 同时往后移一位,如果不相等比较两个数组的元素,较大的元素往后移。

代码实现:

class Solution {
     public int[] intersect(int[] nums1, int[] nums2) {
        Arrays.sort(nums1);
        Arrays.sort(nums2);
        int index1 =0;
        int index2 = 0;
        int index = 0;
       int[]a = new int[Math.min(nums1.length,nums2.length)];//创建一个数组存放最终的结果
       while (index1

你可能感兴趣的:(leetcode,算法)