在Python中将数组划分为增加的序列
假设我们有一个非递减的正整数数组,称为nums和整数K,我们必须找出该数组是否可以划分为一个或多个长度不小于K的不相交的递增子序列。
因此,如果输入像nums=[1,2,2,3,3,4,4],K=3,那么输出将为true,因为此数组可以分为两个子序列,例如[1,2,3,4]和[2,3,4]各自的长度至少为3。
为了解决这个问题,我们将遵循以下步骤-
d:=新映射
要求:=0
对于每个以数字表示的i
d[i]:=d[i]+1
d[i]:=1
如果我不在d中为非零,则
除此以外,
req:=req的最大值,d[i]
当req*K<=nums的大小时返回true
让我们看下面的实现以更好地理解-
示例
class Solution(object):
def canDivideIntoSubsequences(self, nums, K):
d = {}
req = 0
for i in nums:
if i not in d:
d[i]=1
else:
d[i]+=1
req = max(req,d[i])
return req*K<=len(nums)
ob = Solution()print(ob.canDivideIntoSubsequences([1,2,2,3,3,4,4],3))输入值
[1,2,2,3,3,4,4]. 3
输出结果
True
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短