この質問は投資銀行のインタビューの1つで尋ねられます。 私はstudentRecordsオブジェクトのキャッシュを保持するmyCacheを設計しなければならず、studentRecordsコレクションのmyCacheの1つのオブジェクトを持つことができます。ユーザーがstudentRecordsにレコードを挿入したい場合、コレクションに20レコード未満であればレコードを挿入します。 studentRecordsから最も使用されていないレコードを削除し、レコードを挿入します。レコードはソートされた順序でstudentRecordsの順位に基づいて挿入されます。ユーザーがレコードを読みたい場合は、studentRecordsがmyCacheに存在するかどうかをチェックし、 studentRecordsコレクションから。特定の挿入と削除を伴うユーザー定義コレクションの正しいアルゴリズムとデータ構造
二重リンクリストを作成し、ランキングに基づいてレコードを挿入しました。また、シングルトンであるmycacheクラスを作成し、キャッシュからレコードを読み込むこともできます。
レコードを削除する配列リストを作成することはできますが、配列の中で最も使用頻度の低いレコードですが、ランクの順序に基づいて要素を保持することはできません。ランキングに基づいてレコードを読み込むことは高価です。
面接官に感銘を受けた他の解決策はありますか? 80 90 160 80
sohan StudentRecords
SrNoランク名数学科学総パーセンテージ
1ロアン90 90 180 90
2 2の
public void removeRecordFromStudentRecords(String rank);
public void addRecordToStudentRecords(StudentRecords st);
public Student readRecordFromStudentRecords(String rank);
表:
MyCacheというクラスのような機能を有します 3 3 abhi 70 70 140 70
"と、studentRecordsコレクションのmyCacheの1つのオブジェクトを持つことができます。 myCacheの1つのオブジェクトを持つことができるものは何ですか? –
myCacheクラスには次のような関数があります。 public void removeRecordFromStudentRecords(String rank); パブリックメソッドvoid addRecordToStudentRecords(StudentRecords st); public Student readRecordFromStudentRecords(文字列ランク); studentRecordsコレクションのオブジェクトは複数ありません –
このコードで質問を更新してください。コードはコメントに属しません。あなたのソリューションのいくつかの例もいいでしょう。 :) – edasssus