代码随想录 -- 贪心 -- 摆动序列
376. 摆动序列 - 力扣(LeetCode)
思路:
去重:将nums数组中相邻元素相同的情况剔除,也就是相邻相同元素只保留一个。
针对特殊情况:去重后的数组如果只有一个元素,返回1;只有两个元素,返回2。
遍历去重后的数组,如果某个元素符合题意,res+1。
class Solution(object):def deleteSame(self,nums):index=0while index<len(nums)-1:if nums[index]==nums[index+1]:del nums[index+1]else:index+=1return numsdef wiggleMaxLength(self, nums):nums1=self.deleteSame(nums)if len(nums1)==1:return 1if len(nums1)==2:return 2res=2for i in range(len(nums1)-2):if (nums1[i+1]-nums1[i])*(nums1[i+2]-nums1[i+1])<0:res+=1return res