Leetcode每日一题 —— 1732. 找到最高海拔

思路
简单题直接模拟即可。

代码

class Solution {
    public int largestAltitude(int[] gain) {
        int ans = 0;
        int pre = 0;
        for (int i : gain) {
            pre += i;
            ans = Math.max(ans, pre);
        }
        return ans;
    }
}
5 个赞

端午安康,今天是简单题,其实也算一个差分数组,前缀和就是实际海拔。

class Solution {
public:
    int largestAltitude(vector<int>& gain) {
        // 差分数组这一块
        int altitude=0;
        int res=0;
        for(int g:gain){
            altitude+=g;
            res=max(res,altitude);
        }
        return res;
    }
};
1 个赞

今天真是简单题

class Solution:
    def largestAltitude(self, gain: List[int]) -> int:
        ans=-inf
        cur=0
        for g in gain:
            ans=max(cur,ans)
            cur+=g
            
        return max(cur,ans)

发现自己又写复杂了

2 个赞

简单题
端午安康

class Solution:
    def largestAltitude(self, gain: List[int]) -> int:
        h, ans = 0, 0
        for g in gain:
            h += g
            ans = max(ans, h)
        return ans
1 个赞

简单题

class Solution {
public:
    int largestAltitude(vector<int>& gain) {
        int res = 0;
        int sum = 0;
        for(const auto& it : gain) {
            sum += it;
            res = max(res,sum);
        }
        return res;
    }
};
1 个赞
class Solution:
    def largestAltitude(self, gain: List[int]) -> int:
        ans = cur = 0
        n = len(gain)
        for x in gain:
            cur += x
            if cur > 0:
                ans = max(ans, cur)
        return 0 if ans <= 0 else ans
1 个赞

最后ans<=0是不是不用判断,应该不会<=0吧

1 个赞

有道理 佬友 着急过题 就没想这么多 可能我忘记把答案 初始值设置成-inf了