leetcode-168周赛-1296-划分数字为连续数字的集合
题目描述:
自己的提交:
class Solution:
def isPossibleDivide(self, nums: List[int], k: int) -> bool:
c = collections.Counter(nums)
n = len(nums)
m = n/k
if m%1 != 0:
return False
while m != 0:
x = k
pre = min(i for i,v in c.items() if v > 0) -1
while x:
if c[pre+1] <= 0:
return False
else:
c[pre+1] -= 1
pre += 1
x -= 1
m -= 1
return True
优化:O(N)
class Solution:
def isPossibleDivide(self, nums: List[int], k: int) -> bool:
n=len(nums)
if n%k:
return False
cnt=collections.Counter(nums)
st=min(cnt)
while len(cnt)>0:
ntime=cnt[st]
nst=-1
for num in range(st,st+k):
if cnt[num]<ntime:
return False
elif cnt[num]==ntime:
cnt.pop(num)
else:
cnt[num]-=ntime
if nst<0:
nst=num
if nst<0 and len(cnt)>0:
nst=min(cnt)
st=nst
return True
leetcode-168周赛-1296-划分数字为连续数字的集合的更多相关文章
- Leetcode1296划分数组为连续数字的集合
解法1: 最暴力的方法,存每个数字出现的次数,排序之后,扫一遍,对于每个数字,看它后面连续的k-1个是否都存在. 耗时:404ms class Solution { public: bool isPo ...
- [LeetCode] Longest Consecutive Sequence 求最长连续序列
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...
- js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。
存档. 找出能被两个给定参数和它们之间的连续数字整除的最小公倍数. function smallestCommons(arr) { //分解质因数法,分解为若干个质数相乘 var arrratio=[ ...
- 找出数组中最长的连续数字序列(JavaScript实现)
原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: functi ...
- 求连续数字的和------------------------------用while的算法思想
前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...
- 《LeetBook》leetcode题解(9):Palindrome Number[E]——回文数字
我现在在做一个叫<leetbook>的开源书项目,把解题思路都同步更新到github上了,需要的同学可以去看看 地址:https://github.com/hk029/leetcode 这 ...
- 【python】获取列表中最长连续数字
最近开发遇到一个功能需求,目的是要获取一个AI分析结果中最长连续帧,比如一个视频中连续3帧有人,那么我认为这个视频就是有人,我就要判断这个视频帧列表中是否有连续的三帧有人.本质就是获取列表中的最长连续 ...
- php通过gbk编码判断 含有连续数字 可用于判断QQ号,手机号等。
有可能有些输入,不希望让用户的评论或者私信中含有类似于QQ号,手机号的文本,比如交友网站.还有些恶意SEO通过,构造恶意检索词,检索词中包含QQ,手机号等,让百度爬取到,增加展现.也需要将这些检索词屏 ...
- SqlServer中生成一串连续数字
在SQLServer中一串连续数字,如1,2,3,4,5,....或者 1 2 3 4 5 没有现成方法,网上都用通用表表达式递归生成.今天想到一个还算简单的方法,记录下来: select row_n ...
随机推荐
- day04 python列表 元组 range()
day04 python 一.列表 1.什么是列表 列表是可变的数据类型: 和字符串不同, 做的操作直接改源数据 列表由[]来表示, 每项元素用逗号隔开.列表什么都能装,能装对象的 ...
- Windows win32 API 类库 硬件
// 硬件 Win32_Processor, // CPU 处理器 Win32_PhysicalMemory, // 物理内存条 Win32_Keyboard, // 键盘 Win32_Pointin ...
- PHP ftp_fget() 函数
定义和用法 ftp_fget() 函数从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 ftp_fget(ftp ...
- Shiro学习(20)无状态Web应用集成
在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录.如一些REST风格的API,如果不使用OAuth2协议, ...
- Linux系统磁盘分区、删除分区、格式化、挂载、卸载、开机自动挂载的方法总结
Linux系统按照MBR(Master Boot Record)传统分区模式: 注意:传统的MBR(Master Boot Record)分区方式最大只能分2T容量的硬盘,超过2T的硬盘一般采用GPT ...
- NOIp2018集训test-10-23
上午考了一套sb题,但是没有人AK.李巨290虐场. 下午又考了一套sb题,李巨AK虐场.%%% T1 % 中国剩余定理好像做不了啊,我一直在想如何用CRT做,然后就GG了. 然而正解是bike当初说 ...
- AcWing 143. 最大异或对 01字典树打卡
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ...
- mac os 下安装mysql
在 http://dev.mysql.com/downloads/mysql/ 选择下载mysql 注册并选择相应的版本后,得到下载链接:: wget http://dev.mysql.com/get ...
- ASP.NET 服务器控件对应的HTML标签
label----------<span/> button---------<input type="submit"/> textbox--------&l ...
- vs2012+wdk8.0 搭建wdf驱动开发环境
开发环境搭建: 系统:win7 x64 工具:vs2012 + WDK8.0 插件:wdfcoinstaller.msi (1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建 ...