給你乙個整數陣列 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
t了最後乙個case
classsolution:
def ispossibledivide(self, nums: list[int], k: int) ->bool:
n=len(nums)
if n%k!=0:return
false
b=nums[:]
b.sort()
nums.sort()
a=while
nums:
for i in range(nums[0],nums[0]+k):
if i in
nums:
nums.remove(i)
else
:
return
false
a.sort()
return a==b
ac
classsolution:
def ispossibledivide(self, nums: list[int], k: int) ->bool:
n=len(nums)
if n%k!=0:return
false
cnt=collections.counter(nums)
a=sorted(cnt)
for i in
a: ai=cnt[i]
if cnt[i]>0:
for j in range(i+1,i+k):
if cnt[j]>=ai:
cnt[j]-=ai
else
:
return
false
return true
1296 劃分陣列為連續數字的集合
給你乙個整數陣列 nums 和乙個正整數 k,請你判斷是否可以把這個陣列劃分成一些由 k 個連續數字組成的集合。如果可以,請返回 true 否則,返回 false。import j a.util.arrays import j a.util.hashmap import j a.util.map c...
NYOJ 整數劃分 三 劃分數大集合
題目描述 整數劃分是乙個經典的問題。請寫乙個程式,完成以下要求。輸入每組輸入是兩個整數n和k。1 n 50,1 k n 輸出 對於輸入的 n,k 第一行 將n劃分成若干正整數之和的劃分數。第二行 將n劃分成k個正整數之和的劃分數。第三行 將n劃分成最大數不超過k的劃分數。第四行 將n劃分成若干個 奇...
《挑戰程式設計競賽2》劃分數問題
本問題來自於 挑戰程式設計競賽2 劃分數問題 記dp i j j的i劃分數 記每一組物品的個數為a i 則1 i m,且a i 0 如 4的3劃分可表示為 對於 的劃分方案 其內元素同時減1得 為 4 3 的3劃分方案 對於剩下的劃分方案 去除其內的乙個0得,為4的 3 1 劃分方案 由此可得 dp...