[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- ... 
随机推荐
- CountDownLacth详解
			一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CounDownLatch.由于调用了countDown() 方法,所以在当前计数到达零之 ... 
- 一步步学习EF Core(1.DBFirst)
			前言 很久没写博客了,因为真的很忙,终于空下来,打算学习一下EF Core顺便写个系列, 今天我们就来看看第一篇DBFirst. 本文环境:VS2017 Win7 .NET Core1.1 ... 
- 开涛spring3(3.2) - DI之循环依赖
			3.2.1 什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用 CircleC,CircleC引用CircleA ... 
- ORACLE聚合函数细节
			select * from emp order by mgr; 概要 select count(1), --14 sum(1), --14 count(*), --14 count(distinct ... 
- Ionic进行PC端Web开发时通过脚本压缩提高第一次加载效率
			1. 问题 1.1. 问题上下文描述: 基于Ionic进行PC端的Web应用开发: 使用Tomcat作为最终服务发布容器. 1.2. 问题描述: 编译后main.js的大小为4-6MByte.(集成第 ... 
- Node.js 8有哪些重要功能和修复?
			欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ 5月30日12点,Node.js 8正式发布了,这个版本具有一系列新功能和性能改进,并且这些功能和改进将获得长期支持(LTS). ... 
- Web开发安全小贴士
			想要开发出一个安全的.健壮的Web应用其实是非常困难的, 如果你想要快速开发出一款集使用价值.用户体验度.以及安全性为一身的产品,以下安全步骤很必要!!! 数据库 1.对类似访问令牌.电子邮箱 ... 
- 遇到bug我会怎么做
			我今天遇到一个问题,ztree显示数据,本来这个功能是没有问题的,但是当我新加入了几个页面筛选条件时,将集合传入ztree ,页面缺一直没显示出来,弄了两个小时,代码我都仔细排查了一次,发现没有问题, ... 
- Canvas学习系列一:初识canvas
			最近你开始在学习canvas,打算把学习canvas的整个学习过程当中的一些笔记与总结记录下来,如有什么不足之处还请大神们多多指出. 1. 认识canvas Canvas元素的出现,可以说开启的Web ... 
- javaWEB之Servlet
			Servlet 1. 什么是Servlet * Servlet是JavaWeb三大组件之一(Servlet.Filter.Listener) * Servlet是用来处理客户端请求的动态资源 * ... 
