day-52 下一个排列

ops/2024/11/15 6:02:50/

在这里插入图片描述
思路
从后向前遍历数组,把遍历过的元素加入一个有序链表,没变里一个元素判断链表中是否有元素大于当前遍历元素,如果有,把链表中大于当前遍历元素的元素集合中最小的那一个元素赋给当前元素,然后将链表中剩余元素依次赋值给当前遍历元素之后的元素

解题过程
如果输入数组已经是能组成最大的数,则数组升序排列再返回

Code

class Solution {public void nextPermutation(int[] nums) {int len=nums.length;List<Integer> list=new ArrayList<>();boolean flag=true;for(int i=len-1;i>=0;i--){list.add(nums[i]);Collections.sort(list);if(list.size()>0&&list.get(list.size()-1)>nums[i]){int id=list.size()-1;while(id>=0&&list.get(id)>nums[i]){id--;}nums[i]=list.get(id+1);list.remove(id+1);for(int j=i+1;j<len;j++){nums[j]=list.get(0);list.remove(0);}flag=false;}if(!flag) break;}if(flag)Arrays.sort(nums);}
}作者:菜卷
链接:https://leetcode.cn/problems/next-permutation/solutions/2912238/xia-yi-ge-pai-lie-by-ashi-jian-chong-dan-4ewp/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.ppmy.cn/ops/108812.html

相关文章

QT:动态库与静态库的生成和使用

目录 一.动态库和静态库 1.动态链接&#xff08;Dynamic Linking&#xff09; 2.静态链接&#xff08;Static Linking&#xff09; 3.选择依据 二.库的创建 1.新建文件和项目中&#xff0c;选择Library中C库 2.新建一个名为libtest库 3.打印一个qDebug&#xff0c;用于…

ASP.NET Core 入门教学十九 依赖注入ioc

ASP.NET Core内置了对依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;的支持&#xff0c;这是一种设计模式&#xff0c;用于实现控制反转&#xff08;Inversion of Control&#xff0c;简称IoC&#xff09;&#xff0c;从而使得应用程序组件之间的耦合…

24.9.9学习笔记

在深度学习中&#xff0c;分布式计算是指使用多台机器或多个处理器来加速训练过程&#xff0c;特别是在处理大规模数据集和复杂的神经网络模型时。深度学习模型往往需要大量的计算资源来训练&#xff0c;这导致了对高效计算方法的需求。以下是深度学习中分布式计算的一些关键概…

移植i2c-tools到ARM平台

下载源码 下载地址&#xff1a;https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/ 解压 修改Makefile 编译 生成的文件

使用Selenium WebDriver捕获网络请求

在进行Web自动化测试时,捕获网络请求是十分重要的。通过这种方式,我们可以了解到页面加载过程中发生的网络活动,这对于调试、性能分析以及确保应用程序按预期工作都非常有用。本文将详细介绍如何使用Selenium WebDriver和Python来实现捕获网络请求的功能。 前置要求 在开始…

漫谈设计模式 [7]:桥接模式

引导性开场 菜鸟&#xff1a;老鸟&#xff0c;我最近在开发一个图形库&#xff0c;要支持多种形状和不同的颜色。每种形状都有多种颜色变种&#xff0c;代码变得越来越复杂。每次添加一种新形状或颜色时&#xff0c;我都得修改很多地方&#xff0c;感觉很麻烦&#xff0c;有没…

解决移动端1px 边框优化的8个方法

前言 您是否注意到 1px 边框在移动设备上有时会显得比预期的要粗&#xff1f;这种不一致源于移动屏幕的像素密度不同。 在 Web 开发中&#xff0c;我们使用 CSS 来设置页面样式。但是&#xff0c;CSS 中的 1px 并不总是转换为设备上的物理 1px。这种差异就是我们的“1px 边框…

【Web】XGCTF 西瓜杯 超详细题解

目录 CodeInject tpdoor easy_polluted Ezzz_php CodeInject eval里打代码注入 11);system("tac /0*");// tpdoor 可以传参isCache给../../config/route.php写入$config[request_cache_key] 打的是CheckRequestCache中间件解析的漏洞 think\middleware\Ch…