[笔记] 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
  • 按赞加入粉丝团

    延伸阅读