Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (是oin的說)時間1年前 (2024/06/14 10:51), 編輯推噓2(201)
留言3則, 2人參與, 1年前最新討論串357/1548 (看更多)
※ 引述 《sustainer123 (caster)》 之銘言: :   : ※ 引述《DJYOSHITAKA (franchouchouISBEST)》之銘言: : : 好久沒有在平日早上寫了 : : 剩我是公司的狗了 : : 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 重新開始一個新的區間 題目 : 就是跟你說 給你一堆數字 你只能操作好幾次 讓他變大好幾次 然後問你 要讓這堆數字不重複的話 要幾次操作 思路 : 這題就是叫你 把數字攤開來 所以我可以直接用紀錄的 記錄已經出現過的數字 然後因為數字要獨特 所以多出來的重複數字就把他拿走 拿去下一個0的地方 這就是我要把它移動到的位子 而且對於所有數字都是這樣 這個速度可以n 快點稱讚我 ```cpp class Solution { public: int minIncrementForUnique(vector<int>& nums) { vector<int> paper(200001,0); for(int k : nums) { paper[k]++; } int res = 0; int carry = 0; for(int i = 0 ; i <= 200000 ; i ++) { carry += paper[i]; carry --; if(carry < 0)carry = 0; if(carry > 0) { res += carry; } } return res; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.32.89 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1718333471.A.DA0.html

06/14 10:56, 1年前 , 1F
芋圓大師
06/14 10:56, 1F

06/14 12:00, 1年前 , 2F
你有想過紀錄 但感覺有點麻煩就算了
06/14 12:00, 2F

06/14 12:00, 1年前 , 3F
06/14 12:00, 3F
文章代碼(AID): #1cQx0VsW (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cQx0VsW (Marginalman)