你是負責其中有n
席位的單行,編號爲0
通過n-1
白天學生進入和離開考試教室一個教室。 爲了儘量減少作弊,你的任務是有效地安置所有新來的學生。地點最近的學生儘可能
你給出2種類型的查詢:add_student(student_id) -> seat index
和remove_student(student_id) -> void
用於安置學生的規則如下:
- 座椅必須處於未被佔用
- 最接近的學生必須是儘可能遠的地方
- 關係可以通過選擇編號最低的座位來解決。
我的方法是使用哈希表,考慮到我們必須爲每個學生分配座位索引,我們可以使用哈希函數進行分配。這種方法是否正確?
如果散列表是正確的方法,那麼對於'最近的學生必須儘可能遠',我應該如何設計高效的散列函數?
有沒有更好的方法來解決這個問題?
如果您問是否可以使用散列表存儲與唯一鍵相關聯的值,那麼是的。是的你可以。 – David