首页 > 其他分享 >哈希-快乐数

哈希-快乐数

时间:2024-08-29 09:36:20浏览次数:14  
标签:set end score get sum 快乐 哈希 data

 

解决这个问题的关键在于,判断结束遍历的条件,即当n!=1 或者 在循环过程中,没有出现过重复的数。

 

class Solution:

    def isHappy(self, n: int) -> bool:
        def get_score(n):
            sum_ = 0
            while n > 0:
                end_ = n % 10
                sum_ += end_ ** 2  
                n = n // 10
            return sum_

        data_set = set()

        while n != 1 and n not in data_set:
            data_set.add(n)
            n = get_score(n)

        return n == 1

 

使用get_score 来计算循环,使用: n不等于1 和 n 不在循环集合中作为终止的条件。

 

标签:set,end,score,get,sum,快乐,哈希,data
From: https://www.cnblogs.com/TW-NLP/p/18385913

相关文章

  • 代码随想录 -- 哈希表 -- 四数之和
    18.四数之和-力扣(LeetCode)思路:(与三数之和类似,在外面加一层循环)    1. 先将nums 按升序排序    2. 初始状态:k=0,i= k+1,left= i+1,right= len(nums)-1        3. 进入第一层for循环:        如果 nums[k]>0andtarget>0 ......
  • 算法与数据结构——哈希算法
    哈希算法前面介绍了哈希表的工作原理和哈希冲突的处理方法。然而无论是开放寻址还是链式地址,它们只能保证可以在发生冲突时正常工作,而无法减少哈希冲突的发生。如果哈希冲突过于频繁,哈希表的性能则会急剧劣化。如下图所示,对于链式哈希表,理想情况下键值对均匀分布在各个桶中,达到......
  • 字符串哈希 详解+例题
    字符串哈希观看讲解视频:董晓算法做的笔记理论部分字符串哈希是把不同的字符串映射成不同的整数。对于一个长度为\(n\)的字符串\(s\),我们定义它的Hash函数为:\(h(s)=\Sigma^n_{i=1}\)\(s[i]\timesp^{n-i}\)\((mod\)\(m)\)例如:字符串\(abc\),他的hash函数值......
  • 算法与数据结构——哈希表
    哈希表哈希表(hashtable),又称散列表,它通过建立键key与值value之间的映射,实现高效的元素查询。具体而言,我们向哈希表中输入一个键key,则可以在O(1)时间内获取对应的值value。除哈希表外,数组和链表也可以实现查询功能,他们的效率对比如下表:添加元素:仅需将元素添加至数组(链表)的尾部......
  • 用哈希表求解力扣第217题 存在重复元素
    前言记录一下刷题历程力扣第217题存在重复元素两数之和原题目:给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。示例1:输入:nums=[1,2,3,1]输出:true示例2:输入:nums=[1,2,3,4]输出:false示例3:输......
  • 【Leetcode 2032 】 至少在两个数组中出现的值 —— 哈希表与按位运算符(最全的注解)
    给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。示例1:输入:nums1=[1,1,3,2],nums2=[2,3],nums3=[3]输出:[3,2]解释:至少在两个数组中出......
  • LeetCode 690. 员工的重要性(哈希表、深度优先搜索dfs)
    题目:690.员工的重要性思路:先用哈希表map将每个员工的信息映射到员工ID对应的下标位置。接着使用深度优先搜索dfs,来记录总和即可。细节看注释/*//DefinitionforEmployee.classEmployee{public:intid;intimportance;vector<int>subordinates;......
  • 3.4 hash(哈希)
    hash(哈希)hsetkeyfieldvaluehgetkeyfieldhgetallinfohmgetkeyfield1field2...hincrbykeyfieldnumber专门用于结构化的数据信息。对应的就是map/结构体结构:键key:{ 域field:值value, 域field:值value, 域field:值value,}(1)设置指定键的属性......
  • day7哈希表 454.四数相加II |383. 赎金信|15. 三数之和 |18. 四数之和
    454.四数相加IIclassSolution{publicintfourSumCount(int[]nums1,int[]nums2,int[]nums3,int[]nums4){//前两数相加,key是合,次数是value,跟后两数相加的和等于0的话,就取出map里的次数。//两个forloop时间复杂度n方。intres=0;......
  • Python 开发中,使用bcrypt 或 Passlib 对系统用户密码进行哈希和验证处理
    在设计一个系统的时候,肯定都有会有用户身份认证的问题,一般对用户校验的时候,都是对用户存在数据库总的密码哈希值进行判断,从而避免密码泄露和反向解密,那么在Python开发中,我们可以引入bcrypt或Passlib对系统用户密码进行哈希和验证处理,以及介绍使用其他类库实现常规加解密处理操......