455 分发饼干
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
//每次选最小的饼干看是否能满足某个孩子
sort(s.begin(),s.end());
sort(g.begin(),g.end());
int cnt=0;
int indexS=0;
int indexG=0;
for(int i=indexS;i<s.size();++i)
{
//找某个孩子
for(int j=indexG;j<g.size();++j)
{
if(s[i]>=g[j])
{
++cnt;
++indexG;
++indexS;
break;
}
}
}
return cnt;
}
};
减少循环
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(s.begin(),s.end());
sort(g.begin(),g.end());
int indexS=0;
int res=0;
for(int i=0;i<g.size();)
{
while(indexS<s.size()&&s[indexS]<g[i])
{
++indexS;
}
if(indexS==s.size()) break;
else
{
++indexS;
++res;
++i;
}
}
return res;
}
};
376 摆动序列
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
if(nums.size()==1) return nums.size();
int cnt=1;
int DiffPre=0;
int DiffCur;
for(int i=0;i<nums.size()-1;++i)
{
DiffCur=nums[i+1]-nums[i];
if(
(DiffCur>0&&DiffPre<=0)
||(DiffCur<0&&DiffPre>=0)
)
{
DiffPre=DiffCur;
++cnt;
}
}
return cnt;
}
};