LeetCode 455. 分发饼干
链接
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end(), [](int a, int b){return a < b;});
sort(s.begin(), s.end(), [](int a, int b){return a < b;});
int num_of_children = 0;
for(int i = 0; i < s.size(); i++) {
if(num_of_children < g.size() && s[i] >= g[num_of_children]) {
num_of_children++;
}
}
return num_of_children;
}
};
LeetCode 376. 摆动序列
链接
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if(nums.size() < 2) {
return nums.size();
}
int cur_diff = 0, pre_diff = 0, max_len = 1;
for(int i = 0; i < nums.size() - 1; i++) {
cur_diff = nums[i + 1] - nums[i];
if(pre_diff <= 0 && cur_diff > 0 || pre_diff >= 0 && cur_diff <0) {
max_len++;
pre_diff = cur_diff;
}
}
return max_len;
}
};
LeetCode 53. 最大子数组和
链接
class Solution {
public:
int maxSubArray(vector<int>& nums) {
if(nums.size() == 1) {
return nums[0];
}
int max_sum = nums[0], cur_sum = 0;
for(int i = 0; i < nums.size(); i++) {
if(cur_sum < 0) {
cur_sum = 0;
}
cur_sum += nums[i];
max_sum = max_sum > cur_sum ? max_sum : cur_sum;
}
return max_sum;
}
};