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 ...
随机推荐
- KiCAD绘制器件内部逻辑符号库
KiCAD绘制器件内部逻辑符号库 像比较器,运放这些器件,里面是由多个相同的part组成,有时候我们只需要用到其中一个或者某几个,又或者是为了在原理图中更清楚的表达出逻辑关系,需要单独绘制内部的逻辑符 ...
- php自动生成不重复的id
PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳.在高并发或者间隔时长极短(如循环代码)的情况下,会出现大量重复数据.即使使用了第二个参数,也会重复,最好的方案是结 ...
- centos7-关闭 rpcbind 服务
1.关闭 rpcbind 服务 sudo systemctl disable rpcbind 2.关闭开机自启动 sudo systemctl disable rpcbind 3.立即执行关闭 sy ...
- java des 加密/解密
JAVA实现 加密 注意:DES加密和解密过程中,密钥长度都必须是8的倍数 public byte[] desCrypto(byte[] datasource, String password) { ...
- rabbitmq使用延迟时报异常
声明交换机为延迟时报异常( unknown exchange type 'x-delayed-message')的解决方法 服务端需下载安装插件: 1.下载插件包 2.将下载后的插件包移至服务安装目录 ...
- DEDE织梦标签经常调用的内容
DEDE织梦标签名称:{/dede:arclist} 详解 标签名称:arclist标记简介:织梦常用标记,也称为自由列表标记,其中imglist.imginfolist.specart.coolar ...
- React中Class的概念
Class的概念 一.简介 javaScript是面向对象的编程语言,可以说所以的能够被描述的事.物或抽象的东西,都是可以是对象.而我们记录的对象,会有具有同样的属性和行为. 为了节省重写相同的代码. ...
- html根标签设置font-size为100px,使用rem,body没设置字体大小
今天使用了rem来写样式,前提是要给html设置font-size:100px;这样在计算比例时相对方便点:结果在将一个span标签设置为display:inline-block;时发现span不能能 ...
- Delphi 类(TApplication)
TApplication类用于开发窗口程序的类.此类封装了一个窗口应用程序,其方法和属性反映了窗口操作系统在建立.执行.维持以及析构该程序等方面的基本原则.Delphi的每个窗口程序都会自动声明一个A ...
- Nginx配置PHP环境支持
打开Nginx配置文件 输入 vim etc/nginx/nginx.conf 找到配置扩展文件: 打开配置文件配置如下环境: server { listen 80; server_nam ...