日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

[Swift]LeetCode556. 下一个更大元素 III | Next Greater Element III

發(fā)布時間:2023/12/10 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Swift]LeetCode556. 下一个更大元素 III | Next Greater Element III 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
?微信公眾號:山青詠芝(shanqingyongzhi)
?博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
?GitHub地址:https://github.com/strengthen/LeetCode
?原文地址:https://www.cnblogs.com/strengthen/p/10415232.html?
?如果鏈接不是山青詠芝的博客園地址,則可能是爬取作者的文章。
?原文已修改更新!強烈建議點擊原文地址閱讀!支持作者!支持原創(chuàng)!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

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位正整數(shù)?n,你需要找到最小的32位整數(shù),其與?n?中存在的位數(shù)完全相同,并且其值大于n。如果不存在這樣的32位整數(shù),則返回-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 }

?

轉載于:https://www.cnblogs.com/strengthen/p/10415232.html

總結

以上是生活随笔為你收集整理的[Swift]LeetCode556. 下一个更大元素 III | Next Greater Element III的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。