2021-08-25556. 下一个更大元素 III

556. 下一个更大元素 III

给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。

注意 ,返回的整数应当是一个 32 位整数 ,如果存在满足题意的答案,但不是 32 位整数 ,同样返回 -1 。

  • 示例 1:

输入:n = 12
输出:21

  • 示例 2:

输入:n = 21
输出:-1

解题思路

下一个排列的变种

代码

class Solution {public void swap(char[] chars,int i,int j){char c=chars[j];chars[j]=chars[i];chars[i]=c;}public int nextGreaterElement(int n) {char[] chars = String.valueOf(n).toCharArray();int i = chars.length-2,j=chars.length-1;while (i>=0&&chars[i]>=chars[i+1])i--;if (i<0)return -1;while (chars[j]<=chars[i])j--;swap(chars,i,j);int l=i+1,r=chars.length-1;while (l<r){swap(chars,l,r);l++;r--;}String s=new String(chars);return Long.parseLong(s)>Integer.MAX_VALUE?-1:Integer.parseInt(s);}
}

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

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

相关文章

gradle tool升级到3.0注意事项

Gradle版本升级 其实当AS升级到3.0之后&#xff0c;Gradle Plugin和Gradle不升级也是可以继续使用的&#xff0c;但很多新的特性如&#xff1a;Java8支持、新的依赖匹配机制、AAPT2等新功能都无法正常使用。 Gradle Plugin升级到3.0.0及以上&#xff0c;修改project/build.grad…

如何使用React,TypeScript和React测试库创建出色的用户体验

Im always willing to learn, no matter how much I know. As a software engineer, my thirst for knowledge has increased a lot. I know that I have a lot of things to learn daily.无论我知道多少&#xff0c;我总是愿意学习。 作为软件工程师&#xff0c;我对知识的渴望…

PowerDesigner常用设置

2019独角兽企业重金招聘Python工程师标准>>> 使用powerdesigner进行数据库设计确实方便&#xff0c;以下是一些常用的设置 附加&#xff1a;工具栏不见了 调色板(Palette)快捷工具栏不见了 PowerDesigner 快捷工具栏 palette 不见了&#xff0c;怎么重新打开&#x…

bzoj5090[lydsy11月赛]组题

裸的01分数规划,二分答案,没了. #include<cstdio> #include<algorithm> using namespace std; const int maxn100005; int a[maxn]; double b[maxn]; double c[maxn]; typedef long long ll; ll gcd(ll a,ll b){return (b0)?a:gcd(b,a%b); } int main(){int n,k;s…

797. 所有可能的路径

797. 所有可能的路径 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; 二维数组的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些节点&#…

深入框架本源系列 —— Virtual Dom

该系列会逐步更新&#xff0c;完整的讲解目前主流框架中底层相通的技术&#xff0c;接下来的代码内容都会更新在 这里 为什么需要 Virtual Dom 众所周知&#xff0c;操作 DOM 是很耗费性能的一件事情&#xff0c;既然如此&#xff0c;我们可以考虑通过 JS 对象来模拟 DOM 对象&…

网络工程师常备工具_网络安全工程师应该知道的10种工具

网络工程师常备工具If youre a penetration tester, there are numerous tools you can use to help you accomplish your goals. 如果您是渗透测试人员&#xff0c;则可以使用许多工具来帮助您实现目标。 From scanning to post-exploitation, here are ten tools you must k…

configure: error: You need a C++ compiler for C++ support.

安装pcre包的时候提示缺少c编译器 报错信息如下&#xff1a; configure: error: You need a C compiler for C support. 解决办法&#xff0c;使用yum安装&#xff1a;yum -y install gcc-c 转载于:https://www.cnblogs.com/mkl34367803/p/8428264.html

程序编写经验教训_编写您永远都不会忘记的有效绩效评估的经验教训。

程序编写经验教训This article is intended for two audiences: people who need to write self-evaluations, and people who need to provide feedback to their colleagues. 本文面向两个受众&#xff1a;需要编写自我评估的人员和需要向同事提供反馈的人员。 For the purp…

删除文件及文件夹命令

方法一&#xff1a; echo off ::演示&#xff1a;删除指定路径下指定天数之前&#xff08;以文件的最后修改日期为准&#xff09;的文件。 ::如果演示结果无误&#xff0c;把del前面的echo去掉&#xff0c;即可实现真正删除。 ::本例需要Win2003/Vista/Win7系统自带的forfiles命…

BZOJ 3527: [ZJOI2014]力(FFT)

题意 给出\(n\)个数\(q_i\),给出\(Fj\)的定义如下&#xff1a; \[F_j\sum \limits _ {i < j} \frac{q_iq_j}{(i-j)^2}-\sum \limits _{i >j} \frac{q_iq_j}{(i-j)^2}.\] 令\(E_iF_i/q_i\)&#xff0c;求\(E_i\). 题解 一开始没发现求\(E_i\)... 其实题目还更容易想了... …

c# 实现刷卡_如何在RecyclerView中实现“刷卡选项”

c# 实现刷卡Lets say a user of your site wants to edit a list item without opening the item and looking for editing options. If you can enable this functionality, it gives that user a good User Experience. 假设您网站的用户想要在不打开列表项并寻找编辑选项的情…

批处理命令无法连续执行

如题&#xff0c;博主一开始的批处理命令是这样的&#xff1a; cd node_modules cd heapdump node-gyp rebuild cd .. cd v8-profiler-node8 node-pre-gyp rebuild cd .. cd utf-8-validate node-gyp rebuild cd .. cd bufferutil node-gyp rebuild pause执行结果&#xff1…

sql语句中的in用法示例_示例中JavaScript in操作符

sql语句中的in用法示例One of the first topics you’ll come across when learning JavaScript (or any other programming language) are operators. 学习JavaScript(或任何其他编程语言)时遇到的第一个主题之一是运算符。 The most common operators are the arithmetic, l…

vue项目实战总结

马上过年了&#xff0c;最近工作不太忙&#xff0c;再加上本人最近比较懒&#xff0c;毫无斗志&#xff0c;不愿学习新东西&#xff0c;或许是要过年的缘故(感觉像是在找接口)。 就把前一段时间做过的vue项目&#xff0c;进行一次完整的总结。 这次算是详细总结&#xff0c;会从…

Linux !的使用

转自&#xff1a;https://www.linuxidc.com/Linux/2015-05/117774.htm 一、history    78 cd /mnt/ 79 ls 80 cd / 81 history 82 ls 83 ls /mnt/ !78 相当于执行cd /mnt !-6 也相当于执行cd /mnt 二、!$ cd /mnt ls !$ 相当于执行 ls /mnt转载于:https://www.cnblogs.…

881. 救生艇

881. 救生艇 第 i 个人的体重为 people[i]&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1&#xff1a; 输入&#xff1a;…

使用python数据分析_如何使用Python提升您的数据分析技能

使用python数据分析If youre learning Python, youve likely heard about sci-kit-learn, NumPy and Pandas. And these are all important libraries to learn. But there is more to them than you might initially realize.如果您正在学习Python&#xff0c;则可能听说过sci…

openresty 日志输出的处理

最近出了个故障&#xff0c;有个接口的请求居然出现了长达几十秒的处理时间&#xff0c;由于日志缺乏&#xff0c;网络故障也解除了&#xff0c;就没法再重现这个故障了。为了可以在下次出现问题的时候能追查到问题&#xff0c;所以需要添加一些追踪日志。添加这些追踪日志&…

谁是赢家_赢家的真正作品是股东

谁是赢家As I wrote in the article “5 Skills to Look For When Hiring Remote Talent,” remote work is a fast emerging segment of the labor market. Today roughly eight million Americans work remotely full-time. And among the most commonly held jobs include m…