LeetCode讲解篇之面试题 10.11. 峰与谷

文章目录

  • 题目描述
  • 题解思路
  • 题解代码

题目描述

LeetCode讲解篇之面试题 10.11. 峰与谷_第1张图片

题解思路

倒序遍历数组

若当前下标为偶数,则为峰,若左值大于当前值,则交换

若当前下标为奇数,则为谷,若左值小于当前值,则交换

题解代码

func wiggleSort(nums []int)  {
    for i := len(nums) - 1; i > 0; i-- {
        if i % 2 == 0 {
            if nums[i] < nums[i-1] {
                nums[i], nums[i-1] = nums[i-1], nums[i]
            }
        } else {
            if nums[i] > nums[i-1] {
                nums[i-1], nums[i] = nums[i], nums[i-1]
            }
        }
    }
}

你可能感兴趣的:(数据结构与算法,leetcode,java,算法)