Re: [閒聊] 每日LeetCode

看板Marginalman作者 (みけねこ的鼻屎)時間2年前 (2023/11/25 14:11), 編輯推噓2(200)
留言2則, 2人參與, 2年前最新討論串542/719 (看更多)

11/25 14:04,
我一開始也想說分左右處理,然後就超時了
11/25 14:04

11/25 14:04,
你有程式碼嗎
11/25 14:04
剛好我今天是這樣解 這種思路比較好想只是要遍歷兩次= = Java Code: ------------------------------------ class Solution { public int[] getSumAbsoluteDifferences(int[] nums) { int[] prefix = new int[nums.length + 1]; for (int i = 1; i < prefix.length; i++) { prefix[i] = prefix[i - 1] + nums[i - 1]; } int[] res = new int[nums.length]; for (int i = 0; i < nums.length; i++) { res[i] += nums[i] * i - getPrefixSum(prefix, 0, i - 1); res[i] += getPrefixSum(prefix, i + 1, nums.length - 1) - nums[i] * (nums.length - i - 1); } return res; } private int getPrefixSum(int[] nums, int i, int j) { return nums[j + 1] - nums[i]; } } ------------------------------------ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.73.13 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1700892710.A.A37.html

11/25 14:13, 2年前 , 1F
對,要兩次,所以我覺得蠻爛的
11/25 14:13, 1F

11/25 15:30, 2年前 , 2F
我的應該也算跑了兩次
11/25 15:30, 2F
文章代碼(AID): #1bOP0cet (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bOP0cet (Marginalman)