美文网首页
1296. 划分数组为连续数字的集合

1296. 划分数组为连续数字的集合

作者: 漫行者_ | 来源:发表于2021-12-30 21:16 被阅读0次
    class Solution {
        public boolean isPossibleDivide(int[] nums, int k) {
            if(nums.length % k != 0) return false;
            Arrays.sort(nums);
            boolean[] used = new boolean[nums.length];
            Map<Integer, List<Integer>> map = new HashMap<>();
            for(int i=0; i<nums.length; i++) {
                List<Integer> list = map.getOrDefault(nums[i], new ArrayList<>());
                list.add(i);
                map.put(nums[i], list);
            }
            for(int i=0; i<nums.length; i++) {
                if(!used[i]) {
                    for(int j = 0; j < k; j++) {
                        List<Integer> list = map.get(nums[i]+j);
                        if(list == null || list.size() == 0) {
                            return false;
                        }
                        int index = list.get(0);
                        used[index] = true;
                        list.remove(0);
                    }
                }
            }
            return true;
        }
    }
    

    相关文章

      网友评论

          本文标题:1296. 划分数组为连续数字的集合

          本文链接:https://www.haomeiwen.com/subject/xwdwqrtx.html