首页 > 其他分享 >代码随想录:快乐数

代码随想录:快乐数

时间:2024-11-24 21:34:53浏览次数:11  
标签:std 10 set return int 代码 随想录 快乐

代码随想录:快乐数

这题主要是学习一下几种set怎么用。

三种set,第一种第二种都是有序的,注意这个序列和插入序列无关,只和插入元素本身有关。

第三种哈希表,无序,如果只需要找元素是否出现过,用第三种刚刚好。

集合 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率
std::set 红黑树 有序 O(log n) O(log n)
std::multiset 红黑树 有序 O(logn) O(logn)
std::unordered_set 哈希表 无序 O(1) O(1)

定义:

set<int>s
multiset<int>s
unordered_set<int> s

基本操作

s.insert()
s.erase()
//值得一提的是查找元素,用到了迭代器,但我懒得系统学,遇到一个记一个吧
s.find(3) != s.end()
//妈的查了一下也可以不用
s.count(3)即可

题目总代码

class Solution {
public:
    bool isHappy(int n) {
        set<int> s;
        while(1){
            if(n==1){return true;}
            n = getSum(n);
            if(s.find(n)!=s.end()){
                return false;
            }else{
                s.insert(n);
            }
        }
    }

    int getSum(int n) {
        int sum = 0;
        while (n != 0) {
            sum += (n % 10) * (n % 10);
            n = n / 10;
        }
        return sum;
    }
};

标签:std,10,set,return,int,代码,随想录,快乐
From: https://www.cnblogs.com/huigugu/p/18566418

相关文章

  • [20241123]PLSQL语句代码执行几次会缓存.txt
    [20241123]PLSQL语句代码执行几次会缓存.txt--//测试看看PLSQL语句代码执行几次会缓存。1.环境:SCOTT@book>@ver1PORT_STRING                   VERSION       BANNER-------------------------------------------------------------------------......
  • 「撸一手好代码」设计模式之依赖倒置原则
    「撸一手好代码」设计模式之依赖倒置原则在复杂软件系统的构建中,如何有效管理模块间的依赖关系,是确保系统可维护性、可扩展性的关键。依赖倒置原则正是为了解决这一问题而提出的。接下来,我们将深入探讨这一原则的定义、重要性、应用方法,以及如何通过实践来优化我们的......
  • STM32定时器中断原理及模板代码
    ———————————————————————————————————————————主要关注预分频器和中断重装载寄存器和计数器,这三个寄存器合称为时基单元基本定时器只能使用内部时钟(频率为72MHz)预分频器:        可以用预分频器将72MHz分频    ......
  • jspd代码总结
    jsp代码结构忒但<%%>java脚本<%=%>输出到页面<%@指令名指令参数%>page做页卖弄参数设置include组合页面<%---%>jsp注释jsp9种内置对象requestresposesessionapplicationconfigoutpagepageContextexceptionjsp4中作用域pagerequestsessionapplicatonel......
  • 632.最小区间 全网最详细python3解答 分析 代码 Python解决方案:最小区间问题
    Python解决方案:最小区间问题题目背景在这道题中,给定了k个非递减排列的整数列表。目标是找到一个最小区间[a,b],使得每个列表中至少有一个数包含在该区间内。为了定义“最小区间”,我们用以下规则来比较区间[a,b]和[c,d]:如果b-a<d-c,则[a,b]更小。如果......
  • 如何增长代码长度
    今日在洛谷闲逛时突然发现有一哥们线段树写了38.00KB的码长,我一点进去,您猜怎么着?这玩意蹦出来了:建议放到txt上食用$oo*oo*!..........................;%%%%%%%%%%%%%%%%%*o!!!%$#......
  • 项目代码性能优化
    性能优化之: 1. //减少了服务器请求次数 防抖:防止用户在短时间内操作多次(发送多次无意义请求) 验证码-通过使用input验证码/滑动验证/选图片等, 验证插件,实现先验证,再发送请求! 节流-让某个函数在指定时间内,只调用一次(肯定会和定时器搭配使用) 2.......
  • 基于开源低代码平台Microi吾码的图片壁纸、短视频开源项目
    基于开源低代码平台Microi吾码的图片壁纸、短视频开源项目前言亮点后台试用地址、开源地址线上微信小程序、安桌APP、苹果IOSAPP(TestFlight)、H5均支持移动端预览图网络较差时骨架屏后台管理系统预览图前言使用【Microi吾码】低代码平台驱动的开源图片壁纸、短视频......
  • <项目代码>YOLOv8 航拍人车识别<目标检测>
     YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如FasterR-CNN),YOLOv8具有更高的检测速度和实时性。1.数据集介绍数据集详情可以参考博主写的博客<数据集>航拍人车识别......
  • C++象棋代码 (控制台版)
    C++象棋代码 在win7写的 如果有疑问可以在评论区问有bug也可以在评论区反馈我会不定期修复的下面上代码:#include <windows.h>#include <string>#include <iostream>#include <cmath>using namespace std;int main(){    void Chinese_chees_Int_H......