350IntersectionofTwoArraysII

题目:输入两个数组,输出它们的并集,包含重复元素,任意顺序

思路:先排序,然后依次比较大小。

	   public int[] intersect(int[] nums1, int[] nums2) {
	      int len = (nums1.length > nums2.length)? (nums2.length): (nums1.length);
	      Arrays.sort(nums1);
	      Arrays.sort(nums2);
	      int res[] = new int[len];
	      
	      int cur = 0;
	      for(int i = 0, j = 0; i < nums1.length && j < nums2.length;){
	    	  if(nums1[i] == nums2[j]){
	    		  res[cur++] = nums1[i];
	    		  i++;
	    		  j++;
	    	  }
	    	  else if(nums1[i] > nums2[j]){
	    		  j++;
	    	  }
	    	  else{
	    		  i++;
	    	  }	  
	      }
	      return Arrays.copyOf(res, cur);
	    }

你可能感兴趣的:(leetcode)