Java解决峰与谷问题

Java解决峰与谷问题

01 题目

  • 在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。

    示例:

    输入: [5, 3, 1, 2, 3]
    输出: [5, 1, 3, 2, 3]
    

    提示:

    • nums.length <= 10000

02 知识点

  • 排序
  • 双指针
  • 奇偶数判断

03 我的题解

public class paixu02 {public static void main(String[] args) {
//		测试数据int[] nums= {3,5,2,1,1};wiggleSort(nums);}public static void wiggleSort(int[] nums) {if (nums.length<3) {return;}int[] counts=Arrays.copyOf(nums, nums.length);Arrays.sort(counts);
//		从左极循环到右极,双指针交替插入数据int l=0;int r=nums.length-1;int index=0;while (l<r) {nums[index++]=counts[r--];nums[index++]=counts[l++];}
//		当数据为单数时,为中间值赋值if (nums.length%2==1) {nums[index]=counts[l];}//		测试数据for (int i = 0; i < nums.length; i++) {System.out.print(nums[i]+" ");}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三英战吕布web3游戏项目启动全流程

项目是一个学习相关的很好的例子并且开源&#xff0c;原本的项目是连接goerli网络&#xff0c;但我把它修改为可连接ganache网络的项目了&#xff0c;更方便启动。 智能合约部分 进入文件 hardhat.config.js &#xff0c;增加一个钱包私钥 2.执行npm install 3.测试合约 npx ha…

【Linux】linux配置静态IP、动态IP方法汇总

1、systemd-networkd 1.1 说明 systemd-networkd是systemd 的一部分 ,负责 systemd 生态中的网络配置部分(systemd-networkd.service, systemd-resolved.service)。使用 systemd-networkd,你可以为网络设备配置基础的 DHCP/静态IP网络等,还可以配置虚拟网络功能,例如网桥…

在pycharm中jupyter连接上了以后显示无此库,但是确实已经安装好了某个库,使用python可以跑,但是使用ipython就跑不了

今天遇到一个事情&#xff0c;就是用pycharm的jupyter时&#xff0c;连接不上&#xff0c;后来手动连接上了以后&#xff0c;发现环境好像不对。 一般来说&#xff0c;这里会是python3&#xff0c;所以里面的环境也是普通python的环境&#xff0c;并没有我下载的库&#xff0c;…

金和OA C6 SAP_B1Config.aspx 未授权漏洞

产品介绍 金和网络是专业信息化服务商,为城市监管部门提供了互联网监管解决方案,为企事业单位提供组织协同OA系统开发平台,电子政务一体化平台,智慧电商平台等服务。 漏洞描述 金和OA C6 SAP_B1Config.aspx接口 未授权&#xff0c;攻击者可通过此漏洞获取数据库账户密码等敏…

2015年电赛控制类—STM32风力摆控制系统资料+源程序

目录 一、项目背景 二、主要研究内容 三、总体思路与研究方案 四、主要研究结果 五、程序 六、图片 一、项目背景 风力摆控制系统是一种利用风力控制物体做简谐运动的系统&#xff0c;风力的利用和控制技术在我国的发展尚未完善&#xff0c;国内正处于起步阶段。风力摆的…

idea设置注释在鼠标当前位置,使其不从顶格位置添加注释

idea设置注释在鼠标当前位置&#xff0c;使其不从顶格位置添加注释 默认情况下&#xff0c;注释都是从改行的顶格开始&#xff0c;看起来不太美观而且不易清除分级 设置让其从代码处开始&#xff0c;步骤&#xff1a;File–>Sttings–>Editor–>Code Style &#xff…

Mysq之——分库分表

Mysq之——分库分表 简介分库分表的方式垂直分表垂直分库水平分库水平分表 图解&#xff1a;垂直分表与水平分表&#xff08;分库类似&#xff09;分库分表带来的问题 简介 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题&#xff0c;将原来独立的数据库拆分成…

[英语学习][24][Word Power Made Easy]的精读与翻译优化

[序言] 译者的这次翻译, 中规中矩, 就是遗漏了2个单词没有翻译出来 [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西, 同时加入我的社区讨论与交流英语相关的内容. [原著英文与翻译版对照][第22页] This book is designed…

IMS SIP register消息中的Contact header field

SIP register中的Contact还要承载User Agent的能力信息。 实网下抓取的UE log如上&#xff0c;下面就主要看下Contact header field要包含的内容及其含义。 Contact header field设置为包括 UE IP地址或FQDN的SIP URI。 如上图contact中sip:69a5de6a-a03e-46d6-ad7a-b0d974c8f…

【Synopsys工具使用】2.Verdi的使用

文章目录 用VCS生成波形文件并用Verdi打开生成fsdb文件使用Verdi查看逻辑原理图 用VCS生成波形文件并用Verdi打开 编写Makefile文件&#xff1a; all:find com find:find -name "*.v" > file.list com: …

怎么快速筛选查看postfix的邮件记录

现状 通过分析日志获取记录 1.多个收件人时&#xff0c;日志有多行&#xff0c;而且不宜读 2.日志中默认没有邮件主题信息 3.日志中默认没有年的信息 解决办法 小编今天发现了一个不错的开源小命令&#xff0c;查看和下载请点击&#xff1a;postfixlogparse 直接下载下来…

计算机Java项目|Springboot疫情网课管理系统

项目编号&#xff1a;L-BS-ZXBS-07 一&#xff0c;环境介绍 语言环境&#xff1a;Java: jdk1.8 数据库&#xff1a;Mysql: mysql5.7 应用服务器&#xff1a;Tomcat: tomcat8.5.31 开发工具&#xff1a;IDEA或eclipse 二&#xff0c;项目简介 疫情网课也都将通过计算机…

【鸿蒙4.0】harmonyos Day 01

一. 初次使用鸿蒙原生编译器Dev Ecostudio创建一个新工程&#xff08;项目&#xff09;&#xff0c;控制台报错&#xff1a;ohpm ERROR: NOTFOUND package "ohos/hypium" not found from all the registries https://repo.harmonyos 这个错误应该是一些配置没下载成…

python小技巧

使用列表解析式&#xff08;List Comprehension&#xff09;快速创建列表&#xff0c;例如&#xff1a;[x for x in range(10)] 使用enumerate()函数遍历列表时获取索引和值&#xff0c;例如&#xff1a; for i, value in enumerate(my_list): print(i, value) 使用zip()函数…

2 万字详解,吃透 ES!

生活中的数据 搜索引擎是对数据的检索&#xff0c;所以我们先从生活中的数据说起。 我们生活中的数据总体分为两种&#xff1a;结构化数据 和 非结构化数据 。 结构化数据 &#xff1a;也称作行数据&#xff0c;是由二维表结构来逻辑表达和实现的数据&#xff0c;严格地遵循…

年少不懂宋公明,读懂已是中年人

及时雨宋江及时的不是雨&#xff0c;而是银子。 年轻的时候&#xff0c;以为聚义厅聚的是义&#xff0c;中年以后才看明白&#xff0c;聚义厅聚的是利。 利益是纽带&#xff0c;是动力。 懂得从他人利益的角度出发&#xff0c;我们才能调动更多的人和资源&#xff0c;成就一…

Qt编程之基础模块和扩展模块介绍

Qt (发音为“cute”&#xff0c;而不是“cu tee” )是一个跨平台框架,通常用作图形工具包&#xff0c;不过它在创建命令行&#xff08;CLI&#xff09;应用程序方面非常出色。它可以运行在 3个主要的桌面操作系统&#xff08;Windows、Linux 和 Mac&#xff09;以及移动设备操作…

MYSQL多种提权方式

&#x1f419;MYSQL-提权条件 - 数据库的最高权限用户的密码 - secure-file-priv没进行目录限制 - 拿下了网站的权限&#xff08;通过webshell或者其他方式&#xff09; - 获取到了数据库的账号密码 &#xff08;获取密码&#xff1a;D:/phpstudy/MySQL/data/mysql/user.MYD…

win10报错“zlib.dll文件丢失,软件无法启动”,修复方法,亲测有效

zlib.dll文件是一个由Zlib创建的动态链接库文件&#xff0c;它是用于Windows操作系统的数据压缩和解压缩的软件。Zlib是一个广泛使用的软件库&#xff0c;广泛应用在许多不同类型的软件中&#xff0c;包括游戏、浏览器和操作系统。 zlib.dll的主要作用是提供数据压缩和解压缩的…

input中typedate的属性都有那些

自我扩展‘ type 中date属性 自我 控制编辑区域的 ::-webkit-datetime-edit { padding: 1px; background: url(…/selection.gif); }控制年月日这个区域的 ::-webkit-datetime-edit-fields-wrapper { background-color: #eee; }这是控制年月日之间的斜线或短横线的 ::-webki…