当前位置: 首页 > ds >正文

峰与谷系列题


实现的是将数组排序后按
最大、最小、次大、次小…… 的方式交替排列

即所谓的峰谷交替排序
举例说明:

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

排序后:[1, 2, 3, 4, 5]

目标输出:[5, 1, 4, 2, 3] (最大、最小、次大、次小、中间数)

✅ 代码如下:

import java.util.Arrays;public class Main {public static void main(String[] args) {int[] nums = new int[]{2, 4, 3, 1, 5};Arrays.sort(nums); // 先排序:升序排列int n = nums.length;int[] result = new int[n];int left = 0, right = n - 1;int index = 0;while (left <= right) {if (left != right) {result[index++] = nums[right--]; // 最大值result[index++] = nums[left++];  // 最小值} else {result[index++] = nums[left++];  // 中间值}}for (int num : result) {System.out.print(num + " ");}}
}

💡 输出结果:

5 1 4 2 3

这就是 最大、最小、次大、次小… 的峰谷交替排序

在这里插入图片描述

http://www.xdnf.cn/news/5102.html

相关文章:

  • 深入解析多线程与多进程:从理论到Python实践
  • 【LLaMA-Factory】使用LoRa微调训练DeepSeek-R1-Distill-Qwen-7B
  • 深入解析WPF中的3D图形编程:材质与光照
  • 关于fastjson与fastjson2中toJava操作的区别
  • SD二轮省集总结
  • Docker的基础操作
  • Nacos源码—7.Nacos升级gRPC分析四
  • GitHub 趋势日报 (2025年05月08日)
  • C++:书架
  • Windows Server 2025开启GPU分区(GPU-P)部署DoraCloud云桌面
  • Flink之Table API
  • PostgreSQL 表空间占用分析与执行计划详解
  • 考研英一学习笔记 2018年
  • 设计模式-命令模式
  • Ntfs!NtfsFillStandardInfo函数分析在scb和ccb中得到文件的标准信息
  • ai解释前端路由 hash或者History路由
  • Spring 必会之微服务篇(1)
  • 打造网络安全堡垒,企业如何应对DDoS、CC、XSS和ARP攻击
  • 《算法导论(第4版)》阅读笔记:p14-p16
  • 提升编程效率的利器:Zed高性能多人协作代码编辑器
  • [特殊字符]渲染 101 云渲染:C4D XP 粒子创作者的高效解算新方案
  • E2PROM的学习
  • 力扣刷题Day 45:旋转图像(48)
  • C语言中的文本读写和二进制读写接口
  • 软件工程之软件项目管理深度解析
  • Elasticsearch太重?它的超轻量的替代品找到了!
  • 【日撸 Java 三百行】Day 7(Java的数组与矩阵元素相加)
  • 计算机视觉——MedSAM2医学影像一键实现3D与视频分割的高效解决方案
  • 数图闪耀2025深圳CCFA中国零售博览会:AI+零售数字化解决方案引发现场热潮
  • 【2025最新】gitee+pycharm完成项目的上传与管理