• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

leetcode刷题——day3

开发技术 开发技术 5小时前 2次浏览

645. 错误的集合

class Solution {
    public int[] findErrorNums(int[] nums) {
        int[] err = new int[2];
        int n = nums.length;
        HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
        for(int cur : nums) {
            map.put(cur, map.getOrDefault(cur, 0) + 1);
        }
        for(int i = 1; i <= n; i++) {
            int count = map.getOrDefault(i, 0);
            if(count == 2) err[0] = i;
            if(count == 0) err[1] = i;
        }
        return err;
    }
}

697. 数组的度

class Solution {
    public int findShortestSubArray(int[] nums) {
        int n = nums.length;
        Map<Integer, int[]> map = new HashMap<Integer, int[]>();
        for(int i = 0; i < n; i++) {
            if(map.containsKey(nums[i])) {
                map.get(nums[i])[0]++;
                map.get(nums[i])[2] = i;
            } else {
                map.put(nums[i], new int[]{1, i, i});
            }
        }
        int minLen = n;
        int maxDegree = 0;
        for(Map.Entry<Integer,int[]> entry : map.entrySet()) {
            int[] arr = entry.getValue();
            if(arr[0] > maxDegree) {
                maxDegree = arr[0];
                minLen = arr[2] - arr[1] + 1;
            } else if(arr[0] == maxDegree) {
                minLen = Math.min(minLen, arr[2] - arr[1] + 1);
            }
        }
        return minLen;
    }
}

程序员灯塔
转载请注明原文链接:leetcode刷题——day3
喜欢 (0)