Re: [閒聊] 每日leetcode已回收
看板Marginalman作者DJYOSHITAKA (franchouchouISBEST)時間1年前 (2024/06/14 09:19)推噓3(3推 0噓 2→)留言5則, 5人參與討論串355/1548 (看更多)
好久沒有在平日早上寫了
剩我是公司的狗了
945. Minimum Increment to Make Array Unique
思路:
先排列
如果遇到某一區間是nums[j]-nums[i]會小於j-i
就代表這個區間必須透過數個move去撐開成[nums[i], nums[i]+1, nums[i]+2, ...]
若nums[j]-nums[i] >= j-i
代表可以reset 重新開始一個新的區間
def minIncrementForUnique(self, nums: List[int]) -> int:
nums.sort()
start_i, target_diff, ans = 0, 1, 0
for i in range(1,len(nums)):
if (nums[i]-nums[start_i]) < (i-start_i):
ans += (nums[start_i]+target_diff-nums[i])
target_diff += 1
else:
target_diff = 1
start_i = i
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.3.236 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1718327995.A.049.html
※ 編輯: DJYOSHITAKA (1.171.3.236 臺灣), 06/14/2024 09:20:44
推
06/14 09:21,
1年前
, 1F
06/14 09:21, 1F
推
06/14 09:22,
1年前
, 2F
06/14 09:22, 2F
→
06/14 09:36,
1年前
, 3F
06/14 09:36, 3F
推
06/14 09:42,
1年前
, 4F
06/14 09:42, 4F
→
06/14 09:42,
1年前
, 5F
06/14 09:42, 5F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 355 之 1548 篇):