Re: [閒聊] 每日leetcode

看板Marginalman作者 (通通打死)時間1年前 (2024/08/16 08:44), 1年前編輯推噓5(503)
留言8則, 6人參與, 1年前最新討論串721/1548 (看更多)
真假 今天只有premium進得來喔 我以為大家都可以== 我把題目貼上來 624. Maximum Distance in Arrays You are given m arrays, where each array is sorted in ascending order. You can pick up two integers from two different arrays (each array picks one) and calculate the distance. We define the distance between two integers a and b to be their absolute difference |a - b|. Return the maximum distance. Example 1: Input: arrays = [[1,2,3],[4,5],[1,2,3]] Output: 4 Explanation: One way to reach the maximum distance 4 is to pick 1 in the first or third array and pick 5 in the second array. Example 2: Input: arrays = [[1],[1]] Output: 0 Constraints: m == arrays.length 2 <= m <= 10^5 1 <= arrays[i].length <= 500 -10^4 <= arrays[i][j] <= 10^4 arrays[i] is sorted in ascending order. There will be at most 10^5 integers in all the arrays. 思路 好像也不算dp 就traverse過去 我這邊的dp[i]代表從第i個array取一個,然後從第[0,i-1]的arrays取一個 的距離最大值 其實只要maintain arrays[0:i-1][:]裡面的minimum跟maximum 持續跟arrays[i]裡面的第一個數字跟最後一個數字做答案更新就可 class Solution { public: int maxDistance(vector<vector<int>>& arrays) { int max_cur = INT_MIN; int min_cur = INT_MAX; int dp; // m>=2, init dp dp = max(abs(arrays[0][0]-arrays[1].back()), abs(arrays[0].back()-arrays[1][0])); max_cur = max(arrays[0].back(), arrays[1].back()); min_cur = min(arrays[0][0], arrays[1][0]); int ans = dp; for(int i=2; i<arrays.size(); i++) { dp = max(abs(arrays[i][0]-max_cur), abs(arrays[i].back()-min_cur)); ans = max(ans, dp); max_cur = max(max_cur, arrays[i].back()); min_cur = min(min_cur, arrays[i][0]); } return ans; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723769049.A.1F7.html ※ 編輯: DJYOMIYAHINA (125.229.37.69 臺灣), 08/16/2024 08:45:32

08/16 08:45, 1年前 , 1F
窩只知道程式碼 不知道它要問啥 :(
08/16 08:45, 1F

08/16 08:45, 1年前 , 2F

08/16 08:47, 1年前 , 3F
大師 你很棒
08/16 08:47, 3F

08/16 08:47, 1年前 , 4F
爬蟲大師:O
08/16 08:47, 4F

08/16 09:02, 1年前 , 5F
靠北 我的連續紀錄==
08/16 09:02, 5F

08/16 09:09, 1年前 , 6F
大師 這會修吧XDD
08/16 09:09, 6F

08/16 09:38, 1年前 , 7F
i要改從1開始比較簡單 早上寫著過就沒想了
08/16 09:38, 7F

08/16 09:51, 1年前 , 8F
大師
08/16 09:51, 8F
文章代碼(AID): #1clg3P7t (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1clg3P7t (Marginalman)