力扣:给定两个数组,找出他们相同的数

题目描述

力扣:给定两个数组,找出他们相同的数

解题思路

  1. 把两个数组重新排序
  2. new一个新的数组,空间大小为两个数组中长度最大的一个,足够放下找出来的数
  3. 循环对比两个数组的大小
class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Arrays.sort(nums1);
        Arrays.sort(nums2);
        int index1=0;
        int index2=0;
        int index=0;
        int[] result=new int[Math.max(nums1.length,nums2.length)];
        while (index1<nums1.length && index2<nums2.length){
            if (nums1[index1] == nums2[index2]) {
                result[index]=nums1[index1];
                index++;
                index1++;
                index2++;
            }else if (nums1[index1]<nums2[index2]){
                index1++;
            }else {
                index2++;
            }
        }
        return Arrays.copyOfRange(result, 0, index);
    }
}
上一篇:2021-10-02使用最小花费爬楼梯错误思路和正确思路对比


下一篇:B. Red and Blue【1000 / 思维】