最大股票收益
最大股票收益
对应的是122. 买卖股票的最佳时机 II - 力扣(LeetCode)
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
string s;
getline(cin,s);//需要引头文件string
s += ' ';//加一个空格使输入更好处理。
vector<int> nums;
int begin = 0;
int end = 0;//简单的双指针来分割字符串
int n = 0;
while (end < s.size()) {
while (s[end] != ' ') {
++end;
}
string temp = s.substr(begin, end - begin);
begin = end;
n = s[end - 1] == 'S' ? 7 : 1;//默认输入是合法的,所以不需要对Y进行判断
int num = stoi(temp)*n;//stoi是将字符串处理成数字,
nums.push_back(num);//只能使用push_back添加,下标添加需要先初始化
++end;
}
int sum = 0;//如果赚不到钱就输出0;
for (int i = 1; i < nums.size(); ++i) {
sum += max(nums[i] - nums[i - 1], 0);//贪心的思想,决策是从第二天开始做的,如果第二天卖能赚钱,第一天就买入,能赚钱就卖。
}
cout << sum;
}

浙公网安备 33010602011771号