LeetCode擊敗99 上公升下降字串

2021-10-10 22:03:08 字數 1562 閱讀 4459

從 s 中選出 最小 的字元,將它 接在 結果字串的後面。

從 s 剩餘字元中選出 最小 的字元,且該字元比上乙個新增的字元大,將它 接在 結果字串後面。

重複步驟 2 ,直到你沒法從 s 中選擇字元。

從 s 中選出 最大 的字元,將它 接在 結果字串的後面。

從 s 剩餘字元中選出 最大 的字元,且該字元比上乙個新增的字元小,將它 接在 結果字串後面。

重複步驟 5 ,直到你沒法從 s 中選擇字元。

重複步驟 1 到 6 ,直到 s 中所有字元都已經被選過。

在任何一步中,如果最小或者最大字元不止乙個 ,你可以選擇其中任意乙個,並將其新增到結果字串。

示例 1:

輸入:s =

"aaaabbbbcccc"

輸出:"abccbaabccba"

解釋:第一輪的步驟 1,2,3 後,結果字串為 result =

"abc"

第一輪的步驟 4,5,6 後,結果字串為 result =

"abccba"

第一輪結束,現在 s =

"aabbcc" ,我們再次回到步驟 1

第二輪的步驟 1,2,3 後,結果字串為 result =

"abccbaabc"

第二輪的步驟 4,5,6 後,結果字串為 result =

"abccbaabccba"

示例 2:

輸入:s =

"rat"

輸出:"art"

解釋:單詞 "rat" 在上述演算法重排序以後變成 "art"

示例 3:

輸入:s =

"leetcode"

輸出:"cdelotee"

示例 4:

輸入:s =

"ggggggg"

輸出:"ggggggg"

示例 5:

輸入:s =

"spo"

輸出:"ops"

1

<= s.length <=

500s 只包含小寫英文本母。

class

solution

stringbuilder builder =

newstringbuilder()

;while

(builder.

length()

< s.

length()

)}for(

int i =

25; i >=

0; i--)}

}return builder.

tostring()

;}}

用時

記憶體擊敗98.12%

擊敗63.62%

LeetCode擊敗99 猜數字大小

每輪遊戲,我都會從 1 到 n 隨機選擇乙個數字。請你猜選出的是哪個數字。如果你猜錯了,我會告訴你,你猜測的數字比我選出的數字是大了還是小了。你可以通過呼叫乙個預先定義好的介面 int guess int num 來獲取猜測結果,返回值一共有 3 種可能的情況 1,1 或 0 1 我選出的數字比你猜...

LeetCode擊敗99 逆序列印不可變鍊錶

這道題是非常經典,而且比較簡單的遞迴。這道題在leetcode是vip題,中級。題目中需要呼叫內部介面,所以讀者可能比較不好測試。但是這道題包含的遞迴思想非常經典且簡介,不妨感受一下。immutablelistnode.printvalue 列印當前節點的值。immutablelistnode.ge...

leetcode 75 顏色分類 擊敗100

給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題。示例 輸入 2,0,2,1,1,0 輸出 0,0,1,1,2,...