349IntersectionofTwoArrays.java

Integer<---->int, 从左到右使用intValue()转换,从右到左自动转,

先排序,在二分查找,使用集合java.util.Arrays

改进措施,使用TreeSet(无重复元素),神奇的事情,效率没有什么提高。必须了解java集合框架中各个组件的性能

public class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        ArrayList res = new ArrayList(); 
        Arrays.sort(nums2);
        Arrays.sort(nums1);
        for(int i : nums1){
             if(Arrays.binarySearch(nums2, i) >= 0 && !res.contains(i))
                res.add(i);
        }
       // return (int[])res.toArray(); int ---->Integer automatic packaged
       int n = res.size();
       int a[] = new int[n];
       int j = 0;
       for(Integer i : res)
            a[j++] = i.intValue();
       return a;
    }
    
}



你可能感兴趣的:(leetcode)