日期:2026年6月19日
LeetCode 題目連結:1732. Find the Highest Altitude
解題想法
簡單題,可能是我在 LeetCode 上寫過最簡單的題目。用變數 curr 記錄目前的高度,變數 imax 記錄目前的最大值,由於題目說明初始高度為 0,curr 與 imax 的初始值皆為 0。用一個 for 迴圈從 gains 依序讀取高度變化 g,更新 curr += g,用 if 或 max 更新 imax。跑完 for 迴圈之後回傳 imax。
Python 程式碼
Runtime: 0 ms, beats 100.00%. Memory: 19.41 MB, beats 15.40%.
class Solution:
def largestAltitude(self, gain: List[int]) -> int:
curr, imax = 0, 0
for g in gain:
curr += g
#if curr > imax: imax = curr
imax = max(imax, curr)
return imax
C++ 程式碼
Runtime: 0 ms, beats 100.00%. Memory: 10.87 MB, beats 44.68%.
class Solution {
public:
int largestAltitude(vector<int>& gain) {
int curr = 0, imax = 0;
for(int g : gain) {
curr += g;
//if (curr > imax) imax = curr;
imax = max(imax, curr);
}
return imax;
}
};
C 語言程式碼
Runtime: 0 ms, beats 100.00%. Memory: 8.95 MB, beats 32.21%.
int largestAltitude(int* gain, int gainSize) {
int curr = 0, imax = 0;
for(int i = 0; i < gainSize; i++) {
curr += gain[i];
if (curr > imax) imax = curr;
}
return imax;
}
沒有留言:
張貼留言