455.分发饼干
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int result = 0;
int s_index = 0;
for(int i= 0; i<g.size(); i++){
for(int j = s_index; j<s.size(); j++){
if(s[j]>=g[i]){
result++;
s_index=j+1;
break;
}
}
}
return result;
}
};
参考文章:代码随想录-455.分发饼干
376. 摆动序列
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if (nums.size() <= 1) return nums.size();
vector<int> list;
int prediff = 0;
int curdiff = 0;
int result=1;
for(int i=0; i<nums.size()-1; i++){
curdiff = nums[i+1]-nums[i];
if((curdiff>0 && prediff<=0) ||(curdiff<0 && prediff>=0)){
result++;
prediff = curdiff;
}
}
return result;
}
};
参考文章:代码随想录-376. 摆动序列
53. 最大子序和
class Solution {
public:
int maxSubArray(vector<int>& nums) {
vector<int> dp(nums.size(), 0);
dp[0] = nums[0];
int result = dp[0];
for(int i=1; i<nums.size(); i++){
dp[i] = max(nums[i], dp[i-1]+nums[i]);
if(dp[i]>result) result = dp[i];
}
return result;
}
};
参考文章:代码随想录- 53. 最大子序和