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

看板Marginalman作者 (みけねこ的鼻屎)時間2年前 (2023/03/22 00:14), 編輯推噓2(201)
留言3則, 3人參與, 2年前最新討論串268/719 (看更多)
2348. Number of Zero-Filled Subarrays 給你一個陣列表示的序列,求出元素連續為0的子序列總數共有多少個。 Example: Input: nums = [0,0,0,2,0,0] Output: 9 Explanation: [0]子序列共有5個 [0,0]共有3個, [0,0,0]共有1個 總共有9個 思路: 1.觀察[0] -> [0,0] 、[0,0] -> [0,0,0] 產生的子序列數量變化,我們發現每多出一 個0,都可以和先前的子序列成為一個新的子序列。 2.因為1的關係我們得知這個問題有最佳子結構,所以可以用動態規劃來求解,狀態轉移 方程:dp[i] = dp[i - 1] + i ,dp[i]表示連續i個0可以組成的子序列數量。 3.遇到連續0就不斷的累加,否則把0的數量重置,遍歷一遍之後就可以得到解了。 Java Code: -------------------------------------------- class Solution { public long zeroFilledSubarray(int[] nums) { long ans = 0; int count = 0; for (int num : nums) { if (num == 0) { count++; ans += count; } else { count = 0; } } return ans; } } -------------------------------------------- -- https://i.imgur.com/CBMFmWk.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.75.86 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1679415271.A.E59.html

03/22 00:16, 2年前 , 1F
大師
03/22 00:16, 1F

03/22 00:21, 2年前 , 2F
大師
03/22 00:21, 2F

03/22 00:42, 2年前 , 3F
大師
03/22 00:42, 3F
文章代碼(AID): #1a6TVdvP (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1a6TVdvP (Marginalman)