30.日常算法

news/2025/2/6 15:00:55 标签: 算法

1. 宝石与石头

题目来源
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。字母区分大小写,因此 “a” 和 “A” 是不同类型的石头。

示例 1:
输入:jewels = “aA”, stones = “aAAbbbb”
输出:3

class Solution {
public:
    int numJewelsInStones(string jewels, string stones) {
        unordered_set<char> hash;
        for (auto & c : jewels) hash.insert(c);
        int ret = 0;
        for (auto & c : stones){
            if (hash.count(c) > 0) ++ret;
        }
        return ret;
    }
};

2. 快乐数

题目来源
编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:
对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为 1,那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

示例 1:
输入:n = 19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

class Solution {
public:
    int happNum(int n){
        int ret = 0;
        while (n){
            int k = n % 10;
            ret += k * k;
            n /= 10;
        }
        return ret;
    }
    bool isHappy(int n) {
        int low = happNum(n), fast(happNum(happNum(n)));
        // 如果是无线循环的话就是一个圈,使用快慢指针判断是否为环
        while (low != fast){
            low = happNum(low);
            fast = happNum(happNum(fast));
        }
        return fast == 1;
    }
};

http://www.niftyadmin.cn/n/5843101.html

相关文章

OSPF基础(1)

一、OSPF基础 1、技术背景&#xff08;RIP中存在的问题&#xff09; RIP中存在最大跳数为15的限制&#xff0c;不能适应大规模组网 周期性发送全部路由信息&#xff0c;占用大量的带宽资源 以路由收敛速度慢 存在路由环路可能性 每隔30秒更新 2、OSPF协议特点 没有跳数限制&am…

Spring 核心技术解析【纯干货版】- IX:Spring 数据访问模块 Spring-Jdbc 模块精讲

在现代企业级应用中&#xff0c;数据访问层的稳定性和高效性至关重要。为了简化和优化数据库操作&#xff0c;Spring Framework 提供了 Spring-JDBC 模块&#xff0c;旨在通过高度封装的 JDBC 操作&#xff0c;简化开发者的编码负担&#xff0c;减少冗余代码&#xff0c;同时提…

第四章-SUSE- Rancher-容器高可用与容灾测试-RKE2-数据库(Mysql主备倒换容灾)

系列文章目录 第一章-SUSE- Rancher-容器高可用与容灾测试-RKE2-外置数据库&#xff08;Mysql主备集群搭建&#xff09; 第二章-SUSE- Rancher-容器高可用与容灾测试-RKE2-集群搭建&#xff08;使用Mysql&#xff09;-CSDN博客 第三章-SUSE- Rancher-容器高可用与容灾测试-Ra…

React中为每个列表项显示多个DOM节点的解决方案

React中为每个列表项显示多个DOM节点的解决方案 问题背景&#xff1a;Fragment的简写形式的限制解决方案&#xff1a;使用显式的<Fragment>组件实现步骤 其他替代方案方法一&#xff1a;使用<div>包裹节点方法二&#xff1a;使用React.createElement创建Fragment 为…

WordPressAI自动生成发布文章免费插件,SEO,定时任务,生成长尾关键词、根据网站主题内容全自动化后台生成发布文章

一款可以自动发布文章的WordPress插件 wordpress 自动生成文章发布插件下载地址: 点击下载 插件基础功能免费无限制 1、插件后台可输入想要的文章主题或文章构成思路 2、ai自动生成并发布 3、可自定义发布后的文章状态和分类 4、可根据已有的长尾关键词生成文章 5、可对a…

【戒抖音系列】短视频戒除-1-对推荐算法进行干扰

如今推荐算法已经渗透到人们生活的方方面面&#xff0c;尤其是抖音等短视频核心就是推荐算法。 【短视频的危害】 1> 会让人变笨&#xff0c;慢慢让人丧失注意力与专注力 2> 让人丧失阅读长文的能力 3> 让人沉浸在一个又一个快感与嗨点当中。当我们刷短视频时&#x…

oracle 基础语法复习记录

Oracle SQL基础 学习范围 学习SQL基础语法 掌握SELECT、INSERT、UPDATE、DELETE等基本操作。 熟悉WHERE、GROUP BY、ORDER BY、HAVING等子句。 理解表连接&#xff1a; 学习INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等连接方式。 掌握聚合函数&#xff1a; 熟悉…

如何在页面中弹出菜单

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了Sliver综合示例相关的内容&#xff0c;本章回中将介绍PopupMenuButton组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧&#xff0c;…