私はURLのショートネーマーを作っています。与えられたURLごとに最短の文字列を使いたいと思います。各URLの有効期限は異なります。 c
が短いので、c
の有効期限が切れたので、次のURLの代わりにbb
のc
に短縮されなければならないと言う、その後最短の長さのすべての文字列を繰り返し処理するアルゴリズムですか?
a, b, c, ..., z, 0 ..., 9, aa, ab, ac, ... a9, ba
:たとえば
、のは、以下のリストに短縮ますURLを提出してみましょう服用されていません。
これを把握するにはどのようなデータ構造が適していますか?
A PQが働かないヒープに挿入しますしかし、任意の数のエントリについては、制限がなければならない。 – Cisplatin
私が知っているわけではありません。プログラムで制限されていない限り、PQは[無制限](https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html)です。 – mohsenmadi
あなたはそうです、実際には簡単な方法があります。しかし、もう1つの問題は、大量の要素が追加されると、永遠にPQに入り、多くの領域を占めることです。私はそれらを日常的にクリアできると思います。 – Cisplatin