Problem: 1953. 你可以工作的最大周数
Code
class Solution {
public:long long numberOfWeeks(vector<int>& milestones) {// 自己想的思路是每次取出那个剩余时间最多的任务来做(但是注意不能连着两次都取到同一个任务来做);然后每次取数字之前判断一下是否符合取数的条件// 结果发现这其实是一道类似数学的题目!!!// typedef long long LL;long long mx = *max_element(milestones.begin(), milestones.end());long long res = accumulate(milestones.begin(), milestones.end(), 0LL) - mx;if(mx > res + 1) {return res * 2 + 1;}return mx + res;}
};
Problem: 1974. 使用特殊打字机键入单词的最少时间
Code
class Solution {
public:int minTimeToType(string word) {char c = 'a';int sum = 0;for(auto x : word) {int time = 0;if(x > c) {time = min(x - c, 26 - (x - c));}else if(x < c) {time = min(c - x, 26 - (c - x));}sum += time;sum ++;c = x;}return sum;}
};