24. 两两交换链表中的节点
题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/
0x1 看到题目的第一想法
0x2 自己实现过程中遇到哪些困难
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 使用三指针
- 创建一个虚拟节点,pre, cur, post三指针进行两两交换
0x5 今日收获,记录一下自己的学习时长
- 链表技巧
- 使用pre, cur, post三指针进行两两交换
- 1h
349. 两个数组的交集
题目链接:https://leetcode.cn/problems/intersection-of-two-arrays/
0x1 看到题目的第一想法
- 数组元素大小为0到1000,设置一个大小为10001的数组作为哈希表进行统计
0x2 自己实现过程中遇到哪些困难
- No
0x3 今日学习的文章链接,或者视频链接
- https://programmercarl.com/0349.%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86.html
0x4 看完代码随想录之后的想法
- 用字典做哈希表,一个数组元素作为一个键,并将键值赋为1
0x5 今日收获,记录一下自己的学习时长
- 字典做哈希表
- 30min
202. 快乐数
题目链接https://leetcode.cn/problems/happy-number/
0x1 看到题目的第一想法
- 没读懂题 不知道怎么跳出循环,如果无限循环的话
0x2 自己实现过程中遇到哪些困难
- 求每个位置上的数字的平方和
- python中set用法
1
2
3record = set()
record.add(balabala)
if i in record - python中函数的用法
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 使用set记录出现过的平方和
- 重复出现就不是快乐数
0x5 今日收获,记录一下自己的学习时长
- 该用set的时候,还是得用set
- 不需要对数据进行排序,而且还不要让数据重复
- 45min
1. 两数之和
题目链接:https://leetcode.cn/problems/two-sum/
0x1 看到题目的第一想法
- 暴力
- 没想到哈希表的做法
0x2 自己实现过程中遇到哪些困难
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 用字典
- 存放我们访问过的元素
- key: nums中的元素
- value: nums中的元素的下标!!
- 我们给出一个数,需要判断这个数(key)是否出现过,如果出现过返回这个数的下标(value)
- 我们给出的数是 (target - 现在走到的这个数)
0x5 今日收获,记录一下自己的学习时长
为什么会想到用哈希表
- 查询一个元素是否出现过,或者一个元素是否在集合里
哈希表为什么用map
- set面放的元素只能是一个key
- 这里需要记录遍历过的元素及其下标
- 本题map是用来存什么的
- 访问过的元素及其下标
map中的key和value用来存什么的
- key: 访问过的元素
- value: 对应下标
1h
待重点复习
202 1
总结
- 什么时候使用哈希法?
- 当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。
- 数组 []
- 题目中一般告诉已知大小范围的数(而且不太大),可以直接创建一个大小为这个范围大小的数组。使用索引直接访问
- set()
- key
- 字典 {}
- key and value