【刷题日记】哈希表-快乐数-L202-Easy Chen Shi 刷题日记哈希表 刷题日记 哈希表 发布于:2024年7月7日 字数:176 字 时长:1 分钟 编写一个算法来判断一个数 n 是不是快乐数。 思路 存在循环(重复)时不满足快乐数条件,返回 false。因此用哈希集合存储已经出现过的 sum 值。 学习点 代码 1234567891011121314151617181920212223242526272829303132333435class Solution {public: long long cal_sum(int &n) { // 从个位开始保存 long long sum = 0LL; while (n > 0) { int digit = n % 10; sum += digit * digit; n /= 10; } return sum; } bool isHappy(int n) { // 哈希表,如果存在相同值,说明存在循环,返回 false unordered_set<int> us; auto sum = cal_sum(n); while (sum != 1) { // 存在循环 if (us.count(sum)) return false; // 暂时没有循环 us.insert(sum); n = sum; sum = cal_sum(n); } // 退出 while,说明满足 sum == 1 return true; }}; 最后更新于:2025年1月18日 C++ 刷题 哈希表 C++ 刷题 哈希表 【刷题日记】哈希表-两数之和-L1-Easy 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 思路 时间复杂度较高的原因是寻找 tar... 【刷题日记】哈希表-两个数组的交集-L349-Easy 给定两个数组 nums1 和 nums2 ,返回它们的交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 思路 使用哈希集合,分别遍历一次数组1和数组2,第一次...