Table of Contents

中文版:

英文版:

My answer:

解题报告:


中文版:

给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合。
如果可以,请返回 True;否则,返回 False。

示例 1:

输入:nums = [1,2,3,3,4,4,5,6], k = 4
输出:true
解释:数组可以分成 [1,2,3,4] 和 [3,4,5,6]。
示例 2:

输入:nums = [3,2,1,2,3,4,3,4,5,9,10,11], k = 3
输出:true
解释:数组可以分成 [1,2,3] , [2,3,4] , [3,4,5] 和 [9,10,11]。
示例 3:

输入:nums = [3,3,2,2,1,1], k = 3
输出:true
示例 4:

输入:nums = [1,2,3,4], k = 3
输出:false
解释:数组不能分成几个大小为 3 的子数组。

提示:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9
1 <= k <= nums.length

英文版:

1296. Divide Array in Sets of K Consecutive Numbers

Given an array of integers nums and a positive integer k, find whether it's possible to divide this array into sets of k consecutive numbers
Return True if its possible otherwise return False.

Example 1:

Input: nums = [1,2,3,3,4,4,5,6], k = 4
Output: true
Explanation: Array can be divided into [1,2,3,4] and [3,4,5,6].

Example 2:

Input: nums = [3,2,1,2,3,4,3,4,5,9,10,11], k = 3
Output: true
Explanation: Array can be divided into [1,2,3] , [2,3,4] , [3,4,5] and [9,10,11].

Example 3:

Input: nums = [3,3,2,2,1,1], k = 3
Output: true

Example 4:

Input: nums = [1,2,3,4], k = 3
Output: false
Explanation: Each array should be divided in subarrays of size 3.

Constraints:

  • 1 <= nums.length <= 10^5
  • 1 <= nums[i] <= 10^9
  • 1 <= k <= nums.length

My answer:

class Solution:def isPossibleDivide(self, nums: List[int], k: int) -> bool:nums.sort()_dict = {}for num in nums:if num in _dict:_dict[num] += 1else:_dict[num] = 1for num in nums:if _dict[num] != 0:for i in range(k):if num + i in _dict and _dict[num+i] != 0:_dict[num+i] -= 1else:return False                           return True

解题报告:

1、将数组升序排序,这样相同的数会排在一起

2、生成字典,key 是数组 nums 中的数,value 是数出现的个数

3、遍历数组中的数,判断其个数是否为 0:如果不为 0,则再检查从 num 到 num + k - 1 的数是否都存在,若不存在则返回 false。若遍历能进行到最后,返回 true。

LeetCode 1296. 划分数组为连续数字的集合相关推荐

  1. LeetCode 1296. 划分数组为连续数字的集合(map模拟)

    1. 题目 给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合. 如果可以,请返回 True:否则,返回 False. 示例 1: 输入:n ...

  2. leetcode1296. 划分数组为连续数字的集合(贪心算法)

    给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合. 如果可以,请返回 True:否则,返回 False. 示例 1: 输入:nums = ...

  3. LeetCode 659. 分割数组为连续子序列

    LeetCode 659. 分割数组为连续子序列 回顾 根据题意,每个元素只会涉及两种情况: 已经存在nums[i]-1结尾的序列,我们把nums[i]接到之前的某个序列后. 尝试以nums[i]为头 ...

  4. LeetCode 659. 分割数组为连续子序列(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个子序列,其中每个子序列都由连续整数组成且长度至少为 3 . 如果可以完 ...

  5. leetcode 659. 分割数组为连续子序列(贪心算法)

    给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个子序列,其中每个子序列都由连续整数组成且长度至少为 3 . 如果可以完成上述分割,则返回 true :否则,返回 f ...

  6. php 删除数字索引元素,PHP重置数组为连续数字索引的几种方式

    释放双眼,带上耳机,听听看~! 比如这样的一个php数组: $arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' ); 想 ...

  7. 【LeetCode】剑指 Offer 11. 旋转数组的最小数字

    [LeetCode]剑指 Offer 11. 旋转数组的最小数字 文章目录 [LeetCode]剑指 Offer 11. 旋转数组的最小数字 一.遍历 二.二分法 总结 一.遍历 算法步骤: 遍历数组 ...

  8. 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java

    <LeetCode力扣练习>剑指 Offer 11. 旋转数组的最小数字 Java 一.资源 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 ...

  9. 找出数组中最长的连续数字序列(JavaScript实现)

    原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: 1 func ...

  10. 【LeetCode】剑指 Offer 53 - I. 在排序数组中查找数字 I

    [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 文章目录 [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 一.二分法 总结 一.二分法 ...

最新文章

  1. html下拉列表框设置两个,怎么使用HTML option标签添加两个value
  2. PHP学习笔记15----PHP生成HTML文件原理
  3. 程序员在未来会变成廉价劳动力(农民工)吗?
  4. 用802.11n 加速,将android手机屏幕投影到win7电脑上
  5. java 线程接口_java - 实现线程的接口
  6. Entity Framework Core的贴心:优雅处理带默认值的数据库字段
  7. 半年全球网络安全入侵事件近千起,超19亿数据受影响
  8. python 的内置方法zip()介绍
  9. HTML:网页设计案例1
  10. MATLAB拟合优度检验
  11. 一级倒立摆MATLAB仿真程序(搬运)
  12. 第五部分 家庭创业奔小康6.开家畅销书专送店
  13. 单片机简易数字钟c语言程序,用AT89C51/AT89S52单片机制作的简易数字钟
  14. matlab计算海洋浮力频率_MATLAB气象海洋简单粗暴教程(三十四)——MATLAB里画图的统计函数...
  15. Android内存泄漏总结,一线互联网公司面经总结
  16. 英国几个有名的英语考试总结
  17. 腾讯云十亿级 Node.js 网关的架构设计与工程实践
  18. 企企通持续助力全球管道预制先行者「迈科管道」,二期项目逐步启动
  19. 回锅肉飘香,《Pokémon GO》再度成为最卖座的iPhone游戏
  20. 黑白第六回——联想ThinkPad X390系统迁移

热门文章

  1. NOIP2017 普及 luogu3957 跳房子
  2. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数001·3D函数
  3. Hibernate报错org.hibernate.MappingException: Unknown entity解决方法
  4. 通过脚手架安装Ant+react+umi+dva项目(一)
  5. 三星手机回归中国市场,对中国手机高端化之路是又一个重大打击
  6. 内存管理-之启动-基于linux3.10
  7. vue利用 canvas 在图片上加文字
  8. oracle的floor用法,PLSQL FLOOR用法及代码示例
  9. 2020-我的跑步之路
  10. 怎样使用计算机网络,手机使用电脑网络怎么操作 手机使用电脑网络操作方法...