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

一腳踏入軟體工程師寫 Code 的世界,不免俗地會碰上 Leetcode 的測驗,來測試你的溝通力、系統性地解決問題的能力和如何化抽象為具體。第二週的活動以 BigO 和資料結構的簡介,並簡單試個 String, Array, Object。
[筆記] AlphaCamp 不只是刷題的 Leetcode 訓練營 – 3


課程相關資訊

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

課程對應章節:Week2 U17~U20

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


內容

資料結構

將資料定義成一組抽象資料型態,並讓程式存取

1. 資料:一堆元素所組成的有限集合;結構:元素間的組成關係
2. 資料先存放於記憶體,有需要才拿出來使用

更有效的存取方法,讓程式更有效的運用記憶體和效率
alphacamp-leetcode-training-camp

ADT ( Abstract Data Type )

資料結構本身和實作是分開的。如果該程式語言沒有提供某種資料結構,那你有可能會需要自己定義。

Array, String, Object

1. String 是儲存變數,immutable,僅占一格記憶體位置
2. Array 為 mutable,儲存記憶體位置,若其內有 N 個值,那會占用 N 格記憶體空間
3. Object 沒有順序,所以需要 key
4. 在 JavaScript 中,Object 近似於 HashMap
5. 如何複製一個物件 / 陣列?
如果是陣列的話,可以用 Array.slice,或是 [ … ] 運算子
如果是物件的話,Object.assign 可作到第一層淺拷貝,如果是深拷貝的話,那轉成字串再回來是種方式,但會取決於你的 key-value 都是可以轉成 JSON 格式

如何變數交換


LeetCode 題目

414. Third Maximum Number

連結:https://leetcode.com/problems/third-maximum-number/

442. Find All Duplicates in an Array

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

268. Missing Number

連結:https://leetcode.com/problems/missing-number/

36. Valid Sudoku

連結:https://leetcode.com/problems/valid-sudoku/

316. Remove Duplicate Letters

連結:https://leetcode.com/problems/remove-duplicate-letters/

 


相關文章

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

    延伸閱讀