当前位置:网站首页>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);
}
};
边栏推荐
- Chapter 6 data flow modeling - after class exercises
- wordpress切换页面,域名变回了IP地址
- Little known skills of Task Manager
- Configuration and startup of kubedm series-02-kubelet
- Educational codeforces round 109 (rated for Div. 2) C. robot collisions D. armchairs
- Educational Codeforces Round 116 (Rated for Div. 2) E. Arena
- 每日一题-无重复字符的最长子串
- CF1634E Fair Share
- LeetCode 0107.二叉树的层序遍历II - 另一种方法
- The sum of the unique elements of the daily question
猜你喜欢
剑指 Offer 58 - II. 左旋转字符串
Corridor and bridge distribution (csp-s-2021-t1) popular problem solution
Sword finger offer 53 - ii Missing numbers from 0 to n-1
lxml. etree. XMLSyntaxError: Opening and ending tag mismatch: meta line 6 and head, line 8, column 8
剑指 Offer 53 - II. 0~n-1中缺失的数字
Fried chicken nuggets and fifa22
Little known skills of Task Manager
【Jailhouse 文章】Jailhouse Hypervisor
【实战技能】如何做好技术培训?
【Jailhouse 文章】Jailhouse Hypervisor
随机推荐
Reflection summary of Haut OJ freshmen on Wednesday
Haut OJ 2021 freshmen week II reflection summary
The number of enclaves
读者写者模型
2017 USP Try-outs C. Coprimes
剑指 Offer 58 - II. 左旋转字符串
Daily question 2006 Number of pairs whose absolute value of difference is k
In this indifferent world, light crying
2022年貴州省職業院校技能大賽中職組網絡安全賽項規程
常见的最优化方法
On the characteristics of technology entrepreneurs from Dijkstra's Turing Award speech
游戏商城毕业设计
【Jailhouse 文章】Jailhouse Hypervisor
[article de jailhouse] jailhouse hypervisor
LeetCode 0107.二叉树的层序遍历II - 另一种方法
AtCoder Grand Contest 013 E - Placing Squares
kubeadm系列-02-kubelet的配置和启动
Simply sort out the types of sockets
6. Logistic model
wordpress切换页面,域名变回了IP地址