首页 > 其他分享 >2024/12/5 【哈希表】202 快乐数

2024/12/5 【哈希表】202 快乐数

时间:2024-12-06 12:54:42浏览次数:7  
标签:calSquare 12 self 运算符 2024 202 seen sum def

202. 快乐数 - 力扣(LeetCode)

解法1:

(1)把数字n转换为字符串,从而得到每一位的数值。

事先不知道数字n有多少位。

(2)把每一次求平方和得到的数存到集合中,从而避免数字重复导致的循环。

class Solution:
    def calSquare(self, num):
        str_n = str(num)
        sum = 0
        for i in str_n:
            sum += int(i) ** 2return sum

    def isHappy(self, n: int) -> bool:
        seen = set()
        while n != 1 and n not in seen:
            seen.add(n)
            n = self.calSquare(n)  
        return n == 1  

解法2:改进的calSquare函数

class Solution:
    def calSquare(self, n):
        sum = 0
        while n > 0:
            digit = n % 10 #取最后一位
            sum += digit * digit
            n = n // 10 #去掉最后一位
        return sum

    def isHappy(self, n: int) -> bool:
        seen = set()
        while n != 1 and n not in seen:
            seen.add(n)
            n = self.calSquare(n)  
        return n == 1  

在 Python 中,%// 是两个常用的算术运算符,它们的功能如下:

  1. %(取余或模运算): 取余运算符返回两个数相除后的余数。

  2. //(整除运算): 整除运算符返回两个数相除后的整数部分,即向下取整的结果。

标签:calSquare,12,self,运算符,2024,202,seen,sum,def
From: https://www.cnblogs.com/spp20/p/18590525

相关文章

  • 12.6详解前后端对接
    详解前后端对接前端先看前端,主要代码如下:LoginPage.vue<template><div><formaction="/user/login"method="POST"id="login-form"><inputv-model="usernameInput"type="text"......
  • 20222419 2021-2022-2 《网络与系统攻防技术》实验八实验报告
    1.实验内容(1)Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。(2)Web前端javascipt理解JavaScript的基本功能,理解DOM。在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”......
  • 20222418 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式该域名对应IP地址IP地址注册人及联系方式IP地址所在国家、城市和具体地理位置PS:使用whois、dig、nslookup、traceroute、以及各类在线和离线工具进行搜集信......
  • NOIP2024 游记
    NOIP2024游记关于我停一个月晚修&&一星期whk的NOIP最后一舞11/2912:00到了南宁,打算先来半日游。先去了航洋,然后发现霸王茶姬新店开业,十分火爆,抱着10块一杯不喝白不喝的心态去了(比__西__州__级__学食堂还便宜),然后发现友谊太过火爆,全都是先做好一坨然后现场贴标,但很不幸的......
  • 20222411 2024-2025-2 《网络与系统攻防技术》实验七实验报告
    1.实验内容1.1实践内容(1)简单应用SET工具建立冒名网站(2)ettercapDNSspoof(3)结合应用两种技术,用DNSspoof引导特定访问到冒名网站。1.2本周学习内容(1)ARP欺骗(ARPSpoofing)发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的(2)ARP欺骗技术的应用场景利用......
  • 20222323 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    1.实验内容(1)Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。(2)Web前端javascipt在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”尝试注入攻击:利用回显用户名注入HTML及......
  • 20222321 2024-2025-1 《网络与系统攻防技术》实验七实验报告
    1.实验内容本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有(1)简单应用SET工具建立冒名网站(2)ettercapDNSspoof(3)结合应用两种技术,用DNSspoof引导特定访问到冒名网站。2.实验过程(1)简单应用SET工具建立冒名网站攻击机IP:192.168.58.160......
  • P7518 [省选联考 2021 A/B 卷] 宝石
    P7518[省选联考2021A/B卷]宝石Solution:首先我们注意到宝石收集器上的顺序是不变的,所以我们考虑将每个点的点权转化为其在宝石收集器上的排名(后文的权值都是这个意思)然后我们记录两个数组:\(f_1[u][i]和f_2[u][i]\)用来表示在rt->u这段路径上,权值为\(w[u]+2^i\)or\(w[......
  • CSP-S 2024 邮寄
    Day-1:模拟赛考爆了,甚至没有同机房的几个高一学弟高,心情十分悲伤,似乎为我csp-s的爆似埋下了伏笔Day-0.5:从学校多请了半天的假出来散散心,但最后还是找了个地方疯狂背板子作为数据结构人的考前自我欺骗罢了背板子到是比较顺利,几乎所有板子都能一遍过或者十分钟之内调出来,就是......
  • P4113 [HEOI2012] 采花 && P1972 [SDOI2009] HH的项链
    Solution:对于区间上的问题,我们都不难想到可以用线段树解决预处理:对于一个数\(a_i\)记录他左边第一个和它相同的数的位置\(pre_i\)然后我们将询问离线后排序然后我们扫描整个数组:对于一个询问,我们只在当前枚举的i=r时进行答案统计对于一个数\(a_i\):它和它先祖的关系......