[leetcode-556-Next Greater Element III]
Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly the same digits existing in the integer n and is greater in value than n. If no such positive 32-bit integer exists, you need to return -1.
Example 1:
Input: 12
Output: 21
Example 2:
Input: 21
Output: -1
思路:
首先,将整型数字转换成字符串,然后利用stl提供的next_permutation()函数,求字符的全排列,对应的字符串再转换回整型,随时记录大小即可。
int nextGreaterElement2(int n) {
        char buf[];
        sprintf(buf, "%d", n);
        string s = buf;
        puts(s.data());
        sort(s.begin(), s.end());
        long long ans = INT_MAX + 1LL;
        do {
            long long tmp = atoll(s.c_str());
            if (tmp > n) {
                ans = min(ans, tmp);
            }
        } while (next_permutation(s.begin(), s.end()));
        return ans <= INT_MAX ? ans : -;
    }
[leetcode-556-Next Greater Element III]的更多相关文章
- [LeetCode] 556. Next Greater Element III 下一个较大的元素 III
		
Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly th ...
 - 【LeetCode】556. Next Greater Element III 解题报告(Python)
		
[LeetCode]556. Next Greater Element III 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人 ...
 - 556. Next Greater Element III下一个更大的数字
		
[抄题]: Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exac ...
 - 556. Next Greater Element III
		
Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly th ...
 - 496. Next Greater Element I + 503. Next Greater Element II + 556. Next Greater Element III
		
▶ 给定一个数组与它的一个子列,对于数组中的一个元素,定义它右边第一个比他大的元素称为他的后继,求所给子列的后继构成的数组 ▶ 第 496 题,规定数组最后一个元素即数组最大元素的后继均为 -1 ● ...
 - [LeetCode] 496. Next Greater Element I 下一个较大的元素 I
		
You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of n ...
 - [LeetCode] 503. Next Greater Element II 下一个较大的元素 II
		
Given a circular array (the next element of the last element is the first element of the array), pri ...
 - LeetCode 556. 下一个更大元素 III(Next Greater Element III)
		
556. 下一个更大元素 III 556. Next Greater Element III 题目描述 给定一个 32 位正整数 n,你需要找到最小的 32 位整数,其与 n 中存在的位数完全相同,并 ...
 - [LeetCode] Next Greater Element III 下一个较大的元素之三
		
Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly th ...
 - LeetCode Next Greater Element III
		
原题链接在这里:https://leetcode.com/problems/next-greater-element-iii/description/ 题目: Given a positive 32- ...
 
随机推荐
- [刷题]算法竞赛入门经典(第2版) 4-5/UVa1590 - IP Networks
			
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) //UVa1590 - IP Networks #include<iost ...
 - Java线程池总结
			
前一篇文章Java中实现多线程关键词整理中介绍了Java中创建多线程的各种办法,里面提到了线程池,这里对Java中的线程池做一个总结. 1. 关于ThreadPoolExecutor 为了更好地控制多 ...
 - 精益IT组织与分享式领导
			
精益IT组织 未来的组织将专注于同行业的产品或业务流--其他的一切,包括专家和管理者在内,都是为了让一线工作人员可以第一时间就做好,而又不会遇到任何麻烦.最大的制约不是技术:真正的挑战是变 ...
 - mongodb新手扫盲
			
前言 数据库基本命令 集合(表)命令 增加数据 删除数据 更新数据 查询数据 mongoose的使用 前言 mongodb是什么?, 需fq 如何安装mongodb? 数据库基本命令 显示所有数据库: ...
 - ER模型的学习
			
(计应154兰家才)在建立表后开始了学习的第一步,了解数据库的基本知识,就以建立bbs论坛为标准学习er模型,首先建立了4个表分别是BBSReply,BBSSection,BBSTopic,BBSUs ...
 - VS2010 使用 EF5 框架步骤
			
1.安装 nuget , 在nuget里联机查找 EF 5.x DbContext Generator for C# 模版下载安装 2.nuget 控制台执行 Install-Package Enti ...
 - 高性能mysql(二)——mysql的存储引擎
			
在文件系统中,mysql将每个数据库保存为数据目录下的一个子目录.创建表时,mysql会在子目录下创建一个和表同名的.frm文件保存表的定义.例如创建一个名为mytable的表,mysql会在myta ...
 - Github+Hexo,搭建专有博客
			
前言 记得从大二开始,就一直想搭个专属网站,当时使劲抠页面[前端页面是从QQ空间抠的,现在想抠估计没这么容易了],写代码,忙活半天才把程序弄好. 可惜最终项目还是没上线,因为当时有两问题绕不开 需要购 ...
 - go服务端----使用dotweb框架搭建简易服务
			
使用dotweb框架搭建简易服务 go语言web框架挺多的,所谓琳琅满目,里面也有很多优秀的,比如echo.beego等,但体验下来,总是觉得哪里有点小疙瘩,后来才明白过来,echo太简单,很多日常使 ...
 - 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
			
javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...