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

基数排序---Java版本

题目:leetcode 164

在这里插入图片描述

class Solution {public int maximumGap(int[] nums) {if(nums.length<2){return 0;}radixSort(nums);int max = 0;for(int i = 1;i<nums.length;i++){max=Math.max(max,nums[i]-nums[i-1]);}return max;}public void radixSort(int[] nums){int max = Arrays.stream(nums).max().getAsInt();//查找最大值//按照个位,十位,百位。。。直到最高位for(int i = 1;max/i>0;i*=10){countinSort(nums,i);}}public void countinSort(int[] nums,int radix){int n = nums.length;int[] output=new int[n];int[] count = new int[10];//0-9for(int num:nums){int dig = (num/radix)%10;count[dig]++;} //次数累加,以此找到元素对应的位置for(int i = 1;i<10;i++){count[i]+=count[i-1];}//倒序目的是为了保证对上次排序的相对位置不变// 如:对按照个位排序的结果【21,42,23】  ,按照十位排序,则 23还在21后面,相对位置不变for(int i = n-1;i>=0;i--){int dig  =(nums[i]/radix)%10;output[count[dig]-1]=nums[i];count[dig]--;}// 将排序结果复制回原数组//  参数解释:// output:源数组。// 0:源数组起始位置。// nums:目标数组。// 0:目标数组起始位置。// n:要复制的元素数量。System.arraycopy(output, 0, nums, 0, n);}}
Arrays.stream(nums)将数组 nums 转换为一个 IntStream(整数流),便于后续操作。.max()调用流的 max() 方法,返回一个 OptionalInt 对象(可能包含最大值,或为空数组时为空)。.getAsInt()从 OptionalInt 中提取最大值(若数组为空会抛出 NoSuchElementException,但题目已约束 nums.length ≥ 1)。
http://www.dtcms.com/a/215150.html

相关文章:

  • springboot上传文件
  • 浏览器指纹科普 | 语言 vs 界面语言,区别是什么?
  • 解锁集成电路制造新建项目的防震黑科技-江苏泊苏系统集成有限公司
  • 纯彩天气隐私政策
  • java高级 -动态代理
  • unix的定时任务和quartz和spring schedule的cron表达式区别
  • 信息论基础理论与应用全面指南
  • 前端配置nginx代理
  • 原生js实现数据响应方法2.0
  • 深度学习入门(十三):加深网络
  • Linux Docker 安装oracle19c数据库教程
  • 【算法提升】牛牛冲钻五 最长无重复子数组 重排字符串 one_day
  • 热点数据的统计到应用
  • 【Sqoop基础】Sqoop定位:关系型数据库与Hadoop生态间的高效数据桥梁
  • RabbitMQ 集群与高可用方案设计(三)
  • 如何用AI设计LOGO,DeepSeek+豆包免费批量生成
  • 【图论 并集查找】P3671 [USACO17OPEN] Where‘s Bessie? S|普及+
  • CodeGeeX - AI编程助手
  • Java Swing 自定义JOptionPane
  • 【文本分类】KG-HTC 知识图谱提升分类准确率
  • 有铜半孔工艺的制造难点与工艺优化
  • 2025年绿色材料与制造技术国际学术会议(GMMT 2025)
  • 易境通WMS系统:赋能快消品海外仓高效管理
  • 《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》第三次印刷
  • leetcode617.合并二叉树:迭代法中层序遍历与队列操作的深度解析
  • 7.安卓逆向2-frida hook技术-介绍
  • Real2Render2Real:无需动力学仿真或机器人硬件即可扩展机器人数据
  • gin使用Mysql连接池用法
  • 【排错】kylinLinx环境python读json文件报错UTF-8 BOM
  • Linux三剑客之grep命令使用教程