代码随想录算法训练营第五天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数 、1. 两数之和

242.有效的字母异位词 

思路:

首先判断两个数组长度,不同肯定是false;然后将数组放入hash集合,因为字母就26个,也不会存在hash碰撞,迭代第二个数组,在hash中发现就移除掉,最终看hash的size,大于0返回false

看完代码随想录之后的想法:

自己写的解法不对,没判断字母的重复,思路不严谨

349. 两个数组的交集

思路:

利用hash特点,构建不重复的hash集合,通过遍历第二个数组,寻找存在的键放入新的hash集合,最后在组建数组的时候再遍历下

看完代码随想录之后的想法:

hash本身倒是蛮简单,但是空间占用大,未必是最优解


 202. 快乐数 

思路:一开始想着是暴力运算,但是发现会不断循环

看完代码随想录之后的想法:

将计算的和放入hash,会减少不少重复运算。get到了

1. 两数之和 

思路:一开始是想到用hash,不过在存的时候要考虑key放什么,value放什么。另外题目中还表示,最多只有一组答案

看完代码随想录之后的想法:

题目不难,思路很容易理解


今日收获,记录一下自己的学习时长

今天相对简单,hash数据结构在日常中应用还是特别广泛的,用好了事半功倍。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容