ここには私が持っていたインタビューの質問があります。文字の配列を並べ替える
入力:文字列(ASCII)。文にすることができます。ダブができます。私の考えはあなたがサイズ256の配列を持っているし、次にそれを使用ソートバケットの種類を行うことでした
線形時間と一定の追加のスペースが、もし: 出力:
期待複雑ASCII順にソートが値あなたは重複を持っていますし、それをどう扱うのでしょうか?これは一定の空間と見なされますか?私はそれがあなたがたった256のサイズの配列を使用していて、入力の大きさに合わせて成長しないためだと思います。
私はそれを自分自身でやりたいのですが、具体的なコードは望ましくありませんが、ヒントがあれば助かります!
配列の値は何であるべきかを考えてください。 (そして、あなたはASCIIのために128であるサイズが必要なだけです...) –
ああ私が参照してください。インデックスの位置は文字になり、値はカウントになります。ありがとう! –
これはカウントソートになります。 128サイズ配列の線形時間。 –