zoukankan      html  css  js  c++  java
  • [Swift]LeetCode556. 下一个更大元素 III | Next Greater Element III

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10415232.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    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 nand 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

    给定一个32位正整数 n,你需要找到最小的32位整数,其与 n 中存在的位数完全相同,并且其值大于n。如果不存在这样的32位整数,则返回-1。

    示例 1:

    输入: 12
    输出: 21
    

    示例 2:

    输入: 21
    输出: -1

    Runtime: 8 ms
    Memory Usage: 18.8 MB
     1 class Solution {
     2     func nextGreaterElement(_ n: Int) -> Int {
     3         var str:String = String(n)
     4         var arr:[Character] = Array(str)
     5         var len:Int = str.count
     6         var i:Int = len - 1
     7         while(i > 0)
     8         {            
     9             if arr[i] > arr[i - 1] {break}
    10             i -= 1
    11             
    12         }
    13         if i == 0 {return -1}
    14         for j in (i...(len - 1)).reversed()
    15         {
    16             if arr[j] > arr[i - 1]
    17             {
    18                 arr.swapAt(j,i - 1)
    19                 break
    20             }
    21         }
    22         var str2 = String(arr[0..<i])
    23         str2  += String(arr[i..<arr.count].sorted(by:<))
    24         var res:Int = Int(str2)!
    25         return res > 2147483647 ? -1 : Int(res)
    26     }
    27 }
  • 相关阅读:
    vc生产垃圾清理
    完整的.h宏定义
    vs 2017 boost 安装目录 非安装
    cdlinux
    TryEnterCriticalSection
    go get 升级所有
    delphi win7 and high path
    本机激活Qemu网络配置 之桥接 win 10 2019 LTSC
    archlinux alsa安装,音量设置和音量信息保存
    windows搭建gcc开发环境(msys2) objdump
  • 原文地址:https://www.cnblogs.com/strengthen/p/10415232.html
Copyright © 2011-2022 走看看