Re: [閒聊] 每日leetcode

看板Marginalman作者 (早瀬ユウカの体操服 )時間6月前 (2025/05/20 21:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1431/1548 (看更多)
https://leetcode.com/problems/zero-array-transformation-i 3355. Zero Array Transformation I 給你兩個陣列nums和queries[i] = [li, ri],你可以做多次查詢,每次查詢可以對 li~ri之間的任意元素-1,求出查詢完後是否可以讓nums所有元素為0,是的話返回true。 要區間操作可以用差份數組,先用差分數組求出查完所有之後,每個位置可以減幾次, 然後把差份數組還原判斷當前的次數是否夠把nums[i]扣成一。 一開始看錯題目以為減一是對subarray結果是subset那就簡單惹== Java Code: ------------------------------------ class Solution { public boolean isZeroArray(int[] nums, int[][] queries) { int n = nums.length; int[] diff = new int[n]; for (int[] query : queries) { int from = query[0], to = query[1]; diff[from]++; if (to + 1 < n) { diff[to + 1]--; } } int sum = 0; for (int i = 0; i < n; i++) { sum += diff[i]; if (nums[i] > sum) { return false; } } return true; } } ------------------------------------ -- https://i.imgur.com/5xKbxoh.jpeg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.104.111 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1747749549.A.133.html
文章代碼(AID): #1eB8gj4p (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1eB8gj4p (Marginalman)