たとえば、文字列 "dcab"で始める場合、その文字列を受け取り、文字列 "abcd"を生成する関数が必要です。同様に、「cat」は「act」を生成するはずです。私はこれを行う効率的な方法を考えようとしています。助けてくれてありがとう。Java - Stringを指定すると、その文字列をすべてアルファベット順に並べて新しいStringを生成する方法は?
2
A
答えて
13
- 使用
Arrays.sort(char[] a)
- が効率について
すぎてわからない新しい文字列にソートされた文字列を変換した文字列に文字列を変換しますが、これはおそらく最も簡単な実装です。 (あなたはかなり小さいで動作するようにアルファベットではなく、すべてのUnicodeのを持っている場合は特に)
3
char[] array = str.toCharArray();
Arrays.sort(array)
return new String(array);
+2
'Arrays.sort'は配列をinplaceにソートし、voidを返します。このコードは動作しません。 –
+0
あなたはもちろん正しいですが、修正されました。 – zch
12
これを行うための最速の方法はPigeonhole sortを行うことであろう。 Arrays.sort()
は(IIRC)マージソートですので、鳩の巣ソートn
は数あるO(n + N)
時間、で実行しながら、それは、O(n log n)
時間で実行されるため、非常に大きな文字列のために、これは、Arrays.sort()
よりもはるかに高速になることを
注意要素の数はN
で、アルファベットの要素数です。
関連する問題
- 1. compareTo(String)を使用して配列の文字列をアルファベット順に並べ替えますか?
- 2. 並べ替え順に配列のすべての順列を生成する方法は?
- 3. 日付のリストをJavaのStringとして並べ替える
- 4. 文字列をアルファベット順に並べたリンクリスト
- 5. 配列を並べ替える、そのようにアルファベット順に
- 6. すべてのサブフォルダの文字列を生成する方法
- 7. すべての順序で文字セットのすべての順列を作成する方法 - Python
- 8. 列単位でCSVファイルのすべての行をアルファベット順に並べる方法は?
- 9. アルファベット順の配列の並べ替え
- 10. アルファベット順の文字列をソートする方法Java
- 11. 文字列の属性に基づいてアルファベット順にオブジェクトの配列を並べ替える
- 12. アルファベット順にバックボーンコレクションを並べ替える
- 13. ハッシュセットをアルファベット順に並べる方法を教えてください。
- 14. Pythonですべての文字列を生成するには?
- 15. 2d配列をJavaでアルファベット順に並べ替え
- 16. UITableViewCellにクエリ(文字列、辞書<String、String>)する方法?
- 17. アルファベット順に並べ替え
- 18. アルファベット順に並べ替え
- 19. アルファベット順の配列の並べ替え
- 20. すべての言語でアルファベット順に国を並べ替えます。
- 21. シード文字列のすべてのユニークな4文字の順列を生成するには?
- 22. アルファベット順ではない列でクエリを並べ替える方法
- 23. Android:アルファベット順に特殊文字のArraylistを並べ替えるには?
- 24. アルファベット順の並べ替え
- 25. 文字列変数をコードで生成した順に並べ替える方法は?
- 26. JTreeノードをアルファベット順に並べ替え
- 27. アルファベット順にアルファベット順に並べ替えます。
- 28. 文字列にåäöが含まれている場合、どのようにアルファベット順に文字列を並べ替えることができますか?
- 29. JTable列をStringとして設定し、Doubleとしてソートする方法は?
- 30. 2番目の列に従って数値順とアルファベット順に並べ替え
Genius。ありがとうございました。 – Tim