JAVA练习326- 下一个排列
📅 2026/7/23 18:22:47
👁️ 次浏览
题目概览整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如arr [1,2,3]以下这些都可以视作arr的排列[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地如果数组的所有排列根据其字典顺序从小到大排列在一个容器中那么数组的下一个排列就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列那么这个数组必须重排为字典序最小的排列即其元素按升序排列。例如arr [1,2,3]的下一个排列是[1,3,2]。类似地arr [2,3,1]的下一个排列是[3,1,2]。而arr [3,2,1]的下一个排列是[1,2,3]因为[3,2,1]不存在一个字典序更大的排列。给你一个整数数组nums找出nums的下一个排列。必须原地修改只允许使用额外常数空间。示例 1输入nums [1,2,3]输出[1,3,2]示例 2输入nums [3,2,1]输出[1,2,3]示例 3输入nums [1,1,5]输出[1,5,1]提示1 nums.length 1000 nums[i] 100来源31. 下一个排列 - 力扣LeetCode解题分析方法两次遍历以 [ 1,2,3,6,5,4 ] 为例他的下一个排列是 [ 1,2,4,3,5,6 ]可以看出一个排列中至少存在一个升序排列一个降序排列我们把共同的元素算给降序排列那么下一个排列就是将 最右侧升序排列中的最大值令此时索引为 i与 最右侧的降序排列中的较小值令此时索引为 jnums[ j ] 一定要大于 nums[ i ] 且 nums [ j ] 最小进行交换 然后将 i 后面的排列调整为升序原本已经为降序反转即可。具体实现从右侧开始遍历找到第一个相邻且满足 nums[ i ] nums[ j ] 的位置此时 [ i, j ] 就为右侧第一个升序排列[ j, n-1 ] 就为右侧第一个降序排列i 就是升序排列中的最大值。从右侧开测遍历找到第一个满足 num[ i ] nums[ k ] 的位置k 就是降序排列中较小值。交换 i 和 k反转 [ i 1, n-1 ]。时间复杂度O(n)空间复杂度O(1)class Solution { public void nextPermutation(int[] nums) { int n nums.length; if (n 1) { return; } int i n - 2, j n - 1; while(i 0 nums[i] nums[j]) { i--; j--; } if (i 0) { for (int z 0; z n / 2; z) { swap(nums, z, n - 1 - z); } return; } int k n - 1; while(nums[i] nums[k]) { k--; } swap(nums, i, k); int l n - 1; for (int z i 1; z (n i) / 2; z) { swap(nums, z, l--); } } private void swap(int[] nums, int i, int j) { int temp nums[i]; nums[i] nums[j]; nums[j] temp; } }
电流镜电路 目录电流镜电路电流镜电路分析仿真电路结果与分析实际电路搭建为什么不读万用表电流档位?电流镜电路分析仿真电路结果与分析 电流镜电路是一种电流复制技术,利用三极管的电流特性,选取两同类型的三极管(β\betaβ相同),…
📅 2026/7/23 18:22:47
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
📅 2026/7/23 18:22:47
滞回比较电路分析 目录滞回比较电路分析过零滞回比较电路仿真分析波形图改进的波形图滞回比较电路仿真过零滞回比较电路仿真 正反馈运放电路构成比较器电路,由于运放本身就具有很大的开环增益,所有即便是带正反馈也并不会有什么影响,此处的正…
📅 2026/7/23 18:22:47
树莓派4B软路由实战:从闲置板卡到高性能网络中枢的完整构建
手头有一块闲置的树莓派4B,除了偶尔跑跑脚本、做做小实验,似乎总感觉它的潜力没有被完全释放。如果你也和我一样,看着这块性能不俗的板卡,思考着如何让它发挥更大的价值,那么将其改造为一台高性能软路由,或许…
📅 2026/7/23 19:31:17
Gino同传带练小伙伴Dora第12天,介入无稿同传练习第1天。Gino同传带练,每个小伙伴的基础不同情况不一样,有针对性地安排先练哪一项。有的可能先练视译,有的可能先练有稿同传,有的可能先练无稿同传。不管先练哪项&#x…
📅 2026/7/23 19:31:17
1. 项目概述与核心价值 在嵌入式开发领域,尤其是面对物联网节点、便携式设备或电池供电的工业控制器时,我们常常陷入一个两难境地:一方面需要高性能以处理复杂任务或高速通信,另一方面又必须严格控制功耗以延长设备续航。这个矛盾…
📅 2026/7/23 19:31:17
小米R3G路由器深度改造:从Breed引导到OpenWrt编译的实战避坑与高阶应用
手头有一台闲置的小米路由器3G(R3G),想让它摆脱官方固件的束缚,解锁更多网络玩法,这几乎是每个爱折腾的玩家都会有的念头。OpenWrt以其开源、灵活和强大的可定制性,成为了这类老旧硬件焕发新生的首…
📅 2026/7/23 19:31:17
1. 硬件准备与系统选择:为你的软路由找个好“嗓子”
如果你和我一样,是个看到命令行就有点发怵的纯小白,但心里又痒痒,想把家里闲置的旧电脑或者小主机变成一台能无线播放音乐的“高级音响”,那咱们算是来对地方了。我当初也是这么想的,手头有一台2010年的老索尼笔记本,…
📅 2026/7/23 19:31:17
上周去朋友老张的工地,看见他对着满地的线缆和一堆没贴标的设备发愁。老张是个干了十年的老电工,平时嘴硬心软,那天却叹气说:“现在这技术名词换得比衣服还快,昨天还在说智能家居,今天又冒出来个 geo sx,说是能解决布线乱、信号干扰的终极方案。我寻思着,这又是啥新瓶装…
📅 2026/7/23 19:30:12
更多请点击:
https://intelliparadigm.com
第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…
📅 2026/7/23 0:00:26
最近好多同行在群里问 geo s1230 到底值不值得买。说实话,这机器在二手市场挺火。但水很深,新手很容易踩雷。我干了十年设备维护,见过太多冤大头。今天不扯虚的,直接上干货。先说价格,心里得有底。目前成色不错的二手货,大概在一万二到一万五之间。如果低于八千,别犹豫,…
📅 2026/7/23 0:01:16
更多请点击:
https://codechina.net
第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现࿱…
📅 2026/7/23 0:01:26
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/23 1:06:38
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/23 1:06:38
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/23 1:06:38
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/23 7:06:56
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/23 17:07:28
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/23 5:06:50