class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
int i=0,j=0;
int count=0;
sort(s.begin(),s.end());
sort(g.begin(),g.end());
while(i<g.size()&&j<s.size()){
if(g[i]<=s[j]){
i++;
j++;
count++;
}else{
j++;
}
}
return count;
}
};
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
int count=1;
int prev=nums[0];
bool neg=0;
int start=1;
for(int i=1;i<nums.size();i++){
if(i==start){
if(prev==nums[i]){
start++;
continue;
}else{
neg=nums[i]>prev?1:0;
prev=nums[i];
count++;
continue;
}
}
if(neg){
if(nums[i]<prev){
neg=0;
prev=nums[i];
count++;
}else{
prev=nums[i];
}
}else{
if(nums[i]>prev){
neg=1;
prev=nums[i];
count++;
}else{
prev=nums[i];
}
}
}
return count;
}
};
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int res=-__INT32_MAX__;
int max=res;
for(int num:nums){
if(res<0)res=num;
else{
res+=num;
}
if(res>max)max=res;
}
return max;
}
};