实习
点赞 评论

相关推荐

今天,我深入学习了哈希表的三种结构:数组、Set 和 Map,并理解了如何根据不同的题目需求选择合适的数据结构。以下是我对几个典型问题的分析和应用:1. 判断是否为字母异位词:由于字母总数有限(26个英文字母),可以采用数组来实现。通过记录每个单词中字母出现的次数,然后逐一减去另一个单词中对应字母的出现次数,最后检查数组是否全为0。2. 求两个数组的交集:为了高效求解,可以先将一个数组转换为 Set 结构,然后遍历另一个数组,对于每个元素,检查其是否存在于 Set 中。若存在,则将其添加到结果数组中。3. 判断快乐数:对于快乐数问题,涉及对数的各个位数进行操作。可以将每次操作的结果存储在一个 Set 中,当结果为1或遇到重复结果时结束循环。最后,判断当前结果是否为1,从而确定是否为快乐数。4. 两数之和:在给定的数组中,为了找到两个数之和等于目标值,可以将数组元素依次添加到 Set 中。对于每个元素,计算目标值与当前元素的差值(temp),并检查 temp 是否已经存在于 Set 中。若存在,则说明找到了符合条件的两个数。 5. 四数相加:这个问题可以看作是两个“两数之和”问题的组合。将两个数组视为一组,然后分别对每个数组进行类似于“两数之和”的处理。
点赞 评论 收藏
分享
牛客网
牛客企业服务