[leetCode 349]数组交集 & 一些想法

这道题主要学习了以下java中hashSet的用法,hashSet存放无序但不重复的数据,可以用来去重,并且访问速度很快。

另外在做这道题的时候,发现java基本的数据类型,比如数组,String这些,想要求他们的长度都是 .length ,但是数组是.length,String是 .length()。

而高级数据结构里面,比如ArrayList,HashSet,HashMap这些,求他们的长度都是用 .size(),不知道为什么定义的名字要不一样,后面弄懂了再回来改


class Solution {
          
   
    public int[] intersection(int[] nums1, int[] nums2) {
          
   
        HashSet<Integer> hashset1=new HashSet<Integer>();
        for(int i=0;i<nums1.length;i++){
          
   
            hashset1.add(nums1[i]);
        }
        HashSet<Integer> hashset2=new HashSet<Integer>();
        for(int i=0;i<nums2.length;i++){
          
   
            if(hashset1.contains(nums2[i]))
                hashset2.add(nums2[i]);
        }
        int[] array=new int[hashset2.size()];
        int j=0;
        for(Integer i : hashset2){
          
   
            array[j++]=i;
        }
        return array;
    }
}
经验分享 程序员 微信小程序 职场和发展