南岸網(wǎng)站建設(shè)百度搜索引擎怎么做
2023.7.28
? ? ? ? 本題思路是定義一個(gè) direct變量記錄上一次擺動(dòng)是上坡還是下坡?。 然后在一個(gè)for循環(huán)中循環(huán)判斷當(dāng)前擺動(dòng)和上一次擺動(dòng)是否一致,如果不一致則視為一次擺動(dòng)。 如果前后元素值相等得話(huà),直接continue進(jìn)入下一次循環(huán)。
? ? ? ? 下面看代碼:
class Solution {
public:int wiggleMaxLength(vector<int>& nums) {if(nums.size() == 1) return 1;int ans = 1;int direct = 0; // 1為上坡,-1為下坡for(int i=1; i<nums.size(); i++){if(nums[i] == nums[i-1]) continue;if(nums[i] > nums[i-1]){if(direct == 1) continue;direct = 1;}else{if(direct == -1) continue;direct = -1;}ans++;}return ans;}
};