题目链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/#/description
class Solution {
public:
int maxProfit(vector<int>& prices) {
int len=prices.size();
if(len==0) return 0;
int mi=prices[0]; // 最低买入价
int p=0; // 最大利润
for(int i=1;i<len;i++){ // 枚举每一天
if(prices[i]<mi){ // 可以以更低的价格买入
mi=prices[i];
}else{ // 可以卖出
if(prices[i]-mi>p){ // 判断利润是否有更高
p=prices[i]-mi;
}
}
}
return p;
}
};
题目链接: https://leetcode.com/problems/range-sum-query-immutable/#/description
class NumArray {
public:
vector<int> ans;
NumArray(vector<int> nums) {
int sum=0;
ans.push_back(0);
for(int i=0;i<nums.size();i++){
sum+=nums[i];
ans.push_back(sum);
}
}
int sumRange(int i, int j) {
return ans[j+1]-ans[i];
}
};
/**
* Your NumArray object will be instantiated and called as such:
* NumArray obj = new NumArray(nums);
* int param_1 = obj.sumRange(i,j);
*/