Java哈希表学习教程:https://www.runoob.com/java/java-hashmap.html?ivk_sa=1024320u
什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。
242.有效的字母异位词
自己看到题目的第一想法:
看完代码随想录之后的想法:使用哈希表实现,难度不大
遇到的困难:需要先判断两个字符串大小是否一样
349. 两个数组的交集
今日学习的文章链接: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
自己看到题目的第一想法:用大小为1000的数组来实现,遍历第一个数组如果存在就设为1001,遍历第二个++,最后判断>=1002的
看完代码随想录之后的想法:使用HashSet实现
遇到的困难:
*本题二刷时应用HashSet实现
202. 快乐数
今日学习的文章链接:https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html
自己看到题目的第一想法:
看完代码随想录之后的想法:运用HashSet建立一个已访问过的数来防止无限循环
遇到的困难:一开始nextNum采用了判断a是否为零,这样当n为10的倍数时会产生问题,应该判断n是否>0
*本题需要二刷
1. 两数之和
今日学习的文章链接:https://programmercarl.com/0001.%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C.html
自己看到题目的第一想法:
看完代码随想录之后的想法:建一个HashMap<nums[i], i>来存放已经访问过的数,判断target-nums[i]是否在该HashMap中
遇到的困难:不同下标可能有相同的数,这题不能用HashSet来做;要在判断是否存在后再加入已访问的数,不然可能存在和自身相加等于target的情况
今天学习时长四小时,对哈希法掌握了一些(当判断一个元素是否出现过要想到哈希法),其中有几题需要二刷。