[筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 3

一腳踏入軟體工程師寫 Code 的世界,不免俗地會碰上 Leetcode 的測驗,來測試你的溝通力、系統性地解決問題的能力和如何化抽象為具體。第三週的活動以 Map 和 Set 為主。
[筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 3


課程相關資訊

[連結]:https://www.accupass.com/event/2010251353233453323900

課程對應章節:Week3 U22~U24

請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。


內容

Map

在高階的程式語言(如:JavaScript, Python, Ruby…等)中,會提供 Map 和 Set 的方法。若以 JavaScript 中的 new Map() 為例子:

Set

數學上的交集(Intersection)的概念,而且在 Set 裡面的值一定是唯一的,如果有重複的輸入會被忽略,它並沒有內建 get() 的用法。因為 Set 多半是會跟 Set 來進行比較。

HashMap

雜湊表(Hash table,中國方面稱為哈希表),是依據鍵(Key)而直接查詢在記憶體儲存位置的資料結構。換言之,透過輸入函數,將值映射到表中一個位置來查詢記錄,這加快了查找速度。以數學的角度而言,這樣的映射函數被稱做雜湊函數,存放記錄的數組稱做雜湊表。

HashMap Collision 的問題

1. 用 Linked List 的方式,來依序連結
2. 如果有占用,就往下移一位,並以此類推
3. 如果 Bucket 不夠怎麼辦?可以使用 Dynamic Hash


LeetCode 題目

448. Find All Numbers Disappeared in an Array

連結:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/

451. Sort Characters By Frequency

連結:https://leetcode.com/problems/sort-characters-by-frequency/

80. Remove Duplicates from Sorted Array II

連結:https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/


相關文章

  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 1
  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 2
  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 4
  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 5
  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 5-2
  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 6
  • [筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 7
  • 按讚加入粉絲團

    延伸閱讀