[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; } }