[算法练习及思路-程序员面试金典(Java解法)]No61.峰与谷
题号:no61
题目名:峰与谷
原题URL:https://leetcode-cn.com/problems/peaks-and-valleys-lcci/
题目描述
在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。
示例
示例 1:
输入: [5, 3, 1, 2, 3]
输出: [5, 1, 3, 2, 3]
限制
nums.length <= 10000
思路
1.排序后,从大到小排序,先放满奇数位置,这些做峰,之后再继续从大到小,放满偶数位置,这样可以保证峰->谷
解题代码
public class Solution {public void wiggleSort(int[] nums) {int[] res = new int[nums.length];Arrays.sort(nums);int idx = nums.length-1;//把奇数安排从大到小for (int i = 0; i < res.length;) {res[i]=nums[idx--];i+=2;}//把偶数位置从大到小放入for (int i = 1; i < res.length;) {res[i]=nums[idx--];i+=2;}for (int i = 0; i < nums.length; i++) {nums[i]=res[i];}}
}
[算法练习及思路-程序员面试金典(Java解法)]No61.峰与谷相关推荐
- [程序员面试金典][JAVA][第02.01题][移除重复节点][Set][双指针]
[问题描述][简单] 编写代码,移除未排序链表中的重复节点.保留最开始出现的节点.示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3] 示例2:输入:[1, 1, 1, 1, 2 ...
- C#LeetCode刷题-程序员面试金典
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...
- 《程序员面试金典》+《算法导论》
<程序员面试金典>+<算法导论> 因为最近可能会面临一波面试,但是自己各种算法以及常见的问题的熟悉程度感觉还不够,但是由前几次的代码优化经验来看,算法优化可以说是代码优化的重中 ...
- 程序员面试金典——番外篇之下一个较大元素I
程序员面试金典--番外篇之下一个较大元素I Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2) 垃圾算法 class NextElement { public:vector&l ...
- 程序员面试金典——17.6最小调整有序
程序员面试金典--17.6最小调整有序 Solution1:我的答案.垃圾算法 class Rearrange { public:vector<int> findSegment(vecto ...
- 程序员面试金典——番外篇之约瑟夫问题1
程序员面试金典--番外篇之约瑟夫问题1 Solution1:我的答案.脑子是个好东西,希望我总是带着他~ 该算法模拟了游戏过程,不算好. 要理清逻辑关系,因果关系,再下笔~ class Joseph ...
- 程序员面试金典——5.3最接近的数
程序员面试金典--5.3最接近的数 Solution1:把问题想的太简单了,参考书上答案(P166-P170)如下: 书上的思路和算法就很好啊~ class CloseNumber { public: ...
- 程序员面试金典 - 面试题 10.11. 峰与谷
题目难度: 中等 原题链接 今天继续更新程序员面试金典系列, 大家在公众号 算法精选 里回复 面试金典 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 在一个整数数组中,"峰& ...
- 程序员面试金典 - 面试题 10.03. 搜索旋转数组
题目难度: 中等 原题链接 今天继续更新程序员面试金典系列, 大家在公众号 算法精选 里回复 面试金典 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 搜索旋转数组.给定一个排序后的数组 ...
最新文章
- 粒子物理学有了新的基础数学理论
- 设计模式第七讲-责任链模式
- bat 域 本机管理员密码_域渗透——Local Administrator Password Solution
- java 图形用什么组件标题_java图形用户界面设计Swing常用组件(阅读).ppt
- HDFS集中式的缓存管理原理与代码剖析--转载
- 新概念 Lesson 7 A new dress 定冠词、不定冠词
- java取number长度_Java中常用方法(NumberMath)
- 为什么只有360公开支持华为系统,其他公司都不敢表态?
- python tkinter下载器_下载小说还要去找网站?Python使用tkinter打造一个小说下载器...
- java excel文件读取的内容_java读取Excel文件指定内容
- java如何让源码加密还能运行_如何有效防止Java程序源码被人偷窥?
- mac adobe flash builder 4.7 刚装起不来,求助
- Linux下局域网通信软件(聊天室,附源码)
- 【业余无线电BI1FKP】宝峰UV9R-Plus写频、自制写频线
- 手把手教你一整套R语言数据分析+建模流程
- 智能网联汽车云控系统第5部分:平台服务场景规范
- Migration——迁移
- 关于如何将网页做的完整且美观的解决办法
- 【HDR学习】HDR视频相关知识讲解(一)
- chm文档的编辑办法