标签:
利用贪心思想,每次都得到到当前数最长的长度,和与当前数链接的前一个数之间差的符号
1 class Solution { 2 public: 3 int wiggleMaxLength(vector<int>& nums) { 4 if(nums.size()<=2)return nums.size(); 5 vector<int>temp(nums.size(),0); 6 vector<int>flag(nums.size(),0); 7 for(int i=1;i<nums.size();i++){ 8 int max; 9 for(int j=0;j<i;j++) { 10 if(j==0){ 11 flag[i]=(nums[i]-nums[0])>0?1:-1; 12 max=2; 13 continue; 14 } 15 if(nums[i]-nums[j]>0&&flag[j]<0&&max<temp[j]+1) { 16 flag[i]=1; 17 max=temp[j]+1; 18 } 19 if(nums[i]-nums[j]<0&&flag[j]>0&&max<temp[j]+1) { 20 flag[i]=-1; 21 max=temp[j]+1; 22 } 23 } 24 temp[i]=max; 25 } 26 int ok=0; 27 for(int i=0;i<nums.size();i++) 28 if(ok<temp[i]) 29 ok=temp[i]; 30 return ok; 31 } 32 };
标签:
原文地址:http://www.cnblogs.com/thefirstfeeling/p/5691500.html