在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
热门推荐
7 怎么说祝福语简短
10 宝宝生日祝福语大全简短
11 三八简短祝福语给婆婆
12 哥哥考大学祝福语简短
13 简短的祝福语12字
14 对女友的简短祝福语
15 朋友孩子考试祝福语简短
16 俄语祝福语贺卡文案简短
17 女神节日简短祝福语大全
18 宝子生日祝福语简短