目录
简介
本人是小几年经验的前端开发,算法基础只有力扣几十道题,非常薄弱。
今天是个人的代码随想录算法打卡第四天,继续硬控自己。
黑神话悟空最近刚出,送大家一句歌词里的话:踏平坎坷成大道,斗罢艰险又出发!
自律的尽头是自控,自控的尽头是硬控。
题目链接: 242. 有效的字母异位词
- 没看题解一遍过,完事对比视频的思路,基本一致,有个点要注意最后应该判断长度不等于0 而不是大于0,因为不止存在s里某元素出现次数多于t里某元素出现次数的情况,也存在t里某元素出现次数多于s里某元素出现次数的情况。
- 还有一点就是在js里选择用map的时候,如果要去重是要用set数据结构的,本体不能去重,因为就是要统计出现次数,所以就用普通的map就行。
题目链接:349. 两个数组的交集
注意一下array转set,和set转array的写法就行。
题目链接:202. 快乐数
注意一点就好,出现重复直接return false;
题目链接:1. 两数之和
梦开始的地方,没看题解直接做,基本思路就是从后开始取数,然后收缩nums,至于为啥从后开始,是因为从前取开始的话是O(n),从后O(1)。
总结(对用js的道友)
- 一遇到快速查询,往array[]上靠。
- 遇到去重的,往set上靠。
- Object.values, Object.keys, filter, map, some, indexOf等等, 这些库函数,是基操,要熟悉,做多了就好了,共勉!