Day01:两个数组的交集

1. 题目:

给定两个数组,编写一个函数来计算它们的交集。

示例1:

输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2,2]

示例2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [4,9]

说明:
输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。
我们可以不考虑输出结果的顺序。

2. 代码实现

public class IntersectionOfTwoArrays {

    public static void main(String[] args){
        Integer[] a = {1,2,3,5};
        Integer[] b = {2,3,4,5};
        Integer[] solution = getSolution(a, b);
        System.out.println(Arrays.toString(solution));
    }

    public static Integer[] getSolution(Integer[] a, Integer[] b){
        List<Integer> c = new ArrayList<Integer>();
        Arrays.sort(a);
        Arrays.sort(b);
        int i = 0;
        int j = 0;
        while(i<a.length && j<b.length){
            if(a[i]<b[j]){
                i++;
            }else if(a[i]>b[j]){
                j++;
            }else{
                c.add(a[i]);
                j++;
                i++;
            }
        }
        Integer[] d = c.toArray(new Integer[]{});
        return d;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容