当前位置:网站首页>leetcode-556:下一个更大元素 III
leetcode-556:下一个更大元素 III
2022-07-05 05:46:00 【菊头蝙蝠】
题目
给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。
注意 ,返回的整数应当是一个 32 位整数 ,如果存在满足题意的答案,但不是 32 位整数 ,同样返回 -1 。
示例 1:
输入:n = 12
输出:21
示例 2:
输入:n = 21
输出:-1
解题
和leetcode-31:下一个排列相同的思路,只是要在它的基础上,多了溢出判断
方法一:
class Solution {
public:
//溢出判断
bool isValidInt(string& s){
string maxS=to_string(INT_MAX);
if(s.size()<maxS.size()) return true;
for(int i=0;i<s.size();i++){
if(s[i]>maxS[i]) return false;
else if(s[i]==maxS[i]) continue;
else if(s[i]<maxS[i]) return true;
}
return true;
}
int nextGreaterElement(int n) {
string s=to_string(n);
int len=s.size();
int i=len-2,j=len-1;
while(i>=0&&s[i]>=s[j]){
i--;
j--;
}
if(i<0) return -1;
int k=len-1;
while(s[i]>=s[k]){
k--;
}
swap(s[i],s[k]);
sort(s.begin()+i+1,s.end());
if(!isValidInt(s)) return -1;
else return stoi(s);
}
};
边栏推荐
- Introduction et expérience de wazuh open source host Security Solution
- Dichotomy, discretization, etc
- [article de jailhouse] jailhouse hypervisor
- 卷积神经网络——卷积层
- Csp-j-2020-excellent split multiple solutions
- Summary of Haut OJ 2021 freshman week
- How many checks does kubedm series-01-preflight have
- Common optimization methods
- 剑指 Offer 58 - II. 左旋转字符串
- [practical skills] how to do a good job in technical training?
猜你喜欢
1.14 - 流水线
2017 USP Try-outs C. Coprimes
Sword finger offer 09 Implementing queues with two stacks
挂起等待锁 vs 自旋锁(两者的使用场合)
sync. Interpretation of mutex source code
Introduction and experience of wazuh open source host security solution
In this indifferent world, light crying
【实战技能】非技术背景经理的技术管理
用STM32点个灯
Smart construction site "hydropower energy consumption online monitoring system"
随机推荐
Binary search template
Educational Codeforces Round 107 (Rated for Div. 2) E. Colorings and Dominoes
6. Logistic model
剑指 Offer 53 - II. 0~n-1中缺失的数字
【云原生】微服务之Feign自定义配置的记录
Haut OJ 1401: praise energy
2017 USP Try-outs C. Coprimes
The connection and solution between the shortest Hamilton path and the traveling salesman problem
读者写者模型
SAP method of modifying system table data
卷积神经网络——卷积层
Haut OJ 2021 freshmen week II reflection summary
【实战技能】非技术背景经理的技术管理
二十六、文件系统API(设备在应用间的共享;目录和文件API)
One question per day 1765 The highest point in the map
kubeadm系列-02-kubelet的配置和启动
[jailhouse article] look mum, no VM exits
剑指 Offer 06.从头到尾打印链表
常见的最优化方法
“磐云杯”中职网络安全技能大赛A模块新题