どうも、たくチャレ(@takuchalle)です。
LeetCodeの1732. Find the Highest Altitudeを解いてみました。
高さの差分の配列データが与えられるので、一番高い標高を返す問題。
現在の標高altitude
と一番高い標高maxAltitude
を保存し、maxAltitude
を返すようにしています。
このように累積和を利用する問題はPrefix Sum
と呼ばれます。(解いた後に知りました)
計算量はO(N)
で、消費メモリはO(1)
です。
class Solution {
public:
int largestAltitude(vector<int>& gain) {
int altitude = 0;
int maxAltitude = 0;
for (auto v : gain) {
altitude += v;
maxAltitude = max(altitude, maxAltitude);
}
return maxAltitude;
}
};