LeetCode 1296. 划分数组为连续数字的集合
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. 划分数组为连续数字的集合相关推荐
- LeetCode 1296. 划分数组为连续数字的集合(map模拟)
1. 题目 给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合. 如果可以,请返回 True:否则,返回 False. 示例 1: 输入:n ...
- leetcode1296. 划分数组为连续数字的集合(贪心算法)
给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合. 如果可以,请返回 True:否则,返回 False. 示例 1: 输入:nums = ...
- LeetCode 659. 分割数组为连续子序列
LeetCode 659. 分割数组为连续子序列 回顾 根据题意,每个元素只会涉及两种情况: 已经存在nums[i]-1结尾的序列,我们把nums[i]接到之前的某个序列后. 尝试以nums[i]为头 ...
- LeetCode 659. 分割数组为连续子序列(哈希)
文章目录 1. 题目 2. 解题 1. 题目 给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个子序列,其中每个子序列都由连续整数组成且长度至少为 3 . 如果可以完 ...
- leetcode 659. 分割数组为连续子序列(贪心算法)
给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个子序列,其中每个子序列都由连续整数组成且长度至少为 3 . 如果可以完成上述分割,则返回 true :否则,返回 f ...
- php 删除数字索引元素,PHP重置数组为连续数字索引的几种方式
释放双眼,带上耳机,听听看~! 比如这样的一个php数组: $arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' ); 想 ...
- 【LeetCode】剑指 Offer 11. 旋转数组的最小数字
[LeetCode]剑指 Offer 11. 旋转数组的最小数字 文章目录 [LeetCode]剑指 Offer 11. 旋转数组的最小数字 一.遍历 二.二分法 总结 一.遍历 算法步骤: 遍历数组 ...
- 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java
<LeetCode力扣练习>剑指 Offer 11. 旋转数组的最小数字 Java 一.资源 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 ...
- 找出数组中最长的连续数字序列(JavaScript实现)
原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: 1 func ...
- 【LeetCode】剑指 Offer 53 - I. 在排序数组中查找数字 I
[LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 文章目录 [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 一.二分法 总结 一.二分法 ...
最新文章
- html下拉列表框设置两个,怎么使用HTML option标签添加两个value
- PHP学习笔记15----PHP生成HTML文件原理
- 程序员在未来会变成廉价劳动力(农民工)吗?
- 用802.11n 加速,将android手机屏幕投影到win7电脑上
- java 线程接口_java - 实现线程的接口
- Entity Framework Core的贴心:优雅处理带默认值的数据库字段
- 半年全球网络安全入侵事件近千起,超19亿数据受影响
- python 的内置方法zip()介绍
- HTML:网页设计案例1
- MATLAB拟合优度检验
- 一级倒立摆MATLAB仿真程序(搬运)
- 第五部分 家庭创业奔小康6.开家畅销书专送店
- 单片机简易数字钟c语言程序,用AT89C51/AT89S52单片机制作的简易数字钟
- matlab计算海洋浮力频率_MATLAB气象海洋简单粗暴教程(三十四)——MATLAB里画图的统计函数...
- Android内存泄漏总结,一线互联网公司面经总结
- 英国几个有名的英语考试总结
- 腾讯云十亿级 Node.js 网关的架构设计与工程实践
- 企企通持续助力全球管道预制先行者「迈科管道」,二期项目逐步启动
- 回锅肉飘香,《Pokémon GO》再度成为最卖座的iPhone游戏
- 黑白第六回——联想ThinkPad X390系统迁移
热门文章
- NOIP2017 普及 luogu3957 跳房子
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数001·3D函数
- Hibernate报错org.hibernate.MappingException: Unknown entity解决方法
- 通过脚手架安装Ant+react+umi+dva项目(一)
- 三星手机回归中国市场,对中国手机高端化之路是又一个重大打击
- 内存管理-之启动-基于linux3.10
- vue利用 canvas 在图片上加文字
- oracle的floor用法,PLSQL FLOOR用法及代码示例
- 2020-我的跑步之路
- 怎样使用计算机网络,手机使用电脑网络怎么操作 手机使用电脑网络操作方法...