整列キュー
1267 ワード
小文字からなる文字列
移動のたびに、最初の
任意の回数の移動後に持つことができる辞書順の最小文字列を返します.
例1:
例2:
ヒント:
1位dalaoのACの答えを参考にしました(もっと良い答えはないようですか?
Kが1より大きい場合は直接ソートし、どうせ勝手にドラッグしてもいいです.
Kが1ならS+Sでずっとサブストリングを切るのが一番小さいです
S
が与えられる.そして、任意の回数の移動を行うことができます.移動のたびに、最初の
K
文字の1つ(左側から)を選択し、元の位置から削除し、文字列の最後に配置します.任意の回数の移動後に持つことができる辞書順の最小文字列を返します.
例1:
:S = "cba", K = 1
:"acb"
:
, (“c”) , “bac”。
, (“b”) , “acb”。
例2:
:S = "baaca", K = 3
:"aaabc"
:
, (“b”) , “aacab”。
, (“c”) , “aaabc”。
ヒント:
1 <= K <= S.length <= 1000
S
は小文字のみで構成されています.1位dalaoのACの答えを参考にしました(もっと良い答えはないようですか?
Kが1より大きい場合は直接ソートし、どうせ勝手にドラッグしてもいいです.
Kが1ならS+Sでずっとサブストリングを切るのが一番小さいです
class Solution {
public:
string orderlyQueue(string S, int K) {
if(K > 1)
{
sort(S.begin(), S.end());
return S;
}
string tmp = S;
S += S;
int len = tmp.size();
for(int i = 0; i < len; i++)
{
tmp = min(tmp, S.substr(i, len));
}
return tmp;
}
};