【力扣一轮】202.快乐数 1.两数之和
202.快乐数
力扣链接
代码随想录链接
思路
看到这一题没思路,直接看题解。
发现其中一个难点在于“无限循环”,这个字眼可以转换成退出条件。退出条件就有两种,一种是这个数字是快乐数,一种是这个数字不是快乐数。
如果是快乐数好说,判断结果是否为1即可。如果不是呢?就需要看无限循环。
无限循环的意思翻译下就是判断之后出现的结果,是否在之前的哈希表中存在。如果存在,则说明这个数字是快乐数。
另外一个难点就是怎么对其计算出数字之和?发现用循环解决的。
伪代码
当结果集合不存在1时得到一个计算结果判断这个结算结果是否存在如果存在说明开始循环了返回false将其放入结果集合中
返回true(因为退出循环了)
代码
int getSum(int n ){int sum = 0 ;while(n!=0){sum += (n%10)*(n%10);n /=10;}return sum;
}
bool isHappy(int n) {unordered_set<int> st;n = getSum(n);st.insert(n);while(st.find(1)==st.end()){//等于就相当没找到n = getSum(n);if(st.find(n)!=st.end()){//说明已经有重复的n了return false;}st.insert(n);}//取出数字的每个位置的平方和,放入unorderd_set中return true;
}
1.两数之和
力扣链接
代码随想录链接
思路
刷力扣第一题,刚开始是想暴力,循环两轮取出对应的下标。但因为按照代码随想录刷题,所以借用它的思想,使用哈希表。若使用哈希表,则问题转换为,看哪个元素在集合中出现过?接下来就是这个元素是什么?——应该是target-其中一个元素的差。也就是看差是否出现,以及出现在哪里。
思路想到这里卡住,便去看卡尔讲解视频。
用到了哈希映射,如果这个差没有在集合中,那么就添加到里面;如果在的话,就取出来,作为返回结果。
此时有几个问题要回答。
①为什么会想到用哈希法?
②为什么会想到要用map?以及map,unordered-map,multi-map为什么用第二个?
③map的作用是什么?
④map的key是用来干什么的?为什么key/value不能转换?
问题①,在看到一道题,出现其中一个元素是否存在/出现时,就要考虑是否能使用哈希表?
对应到这道题目,就是在遍历时,需要看这个差是否出现过,若出现,那它的索引是什么。所以,根据这个思考过程,想到用哈希表。
问题②,因为要获取其索引,而差其实是数组元素的数值,索引是另外一个数据,所以需要存储两个元素,数值:索引。就需要用到map。
为什么用unordered-map?因为map和multi-map的底层是红黑树,而unordered-map底层是哈希表,索引查找会更快。
问题③,既然要获取其索引,map的作用在这道题中就是存储暂时不是差的元素。
问题④,key存放的是数值,就是看差是否在map中。如果value存放的是数值,key存放的是索引,那么无法在map中直接通过差查询,而需要遍历,差通过value来比对,会影响效率。
时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)
伪代码
//只会存在一个有效答案遍历数组,依次查看所需元素是否在map中,如果需要的元素在map中,则返回当前下标以及对应元素下标如果不在map中则将当前元素存入map中返回空
代码
vector<int> twoSum(vector<int>& nums, int target) {map<int , int > mp ;vector<int> vt;for(int i = 0 ; i < nums.size(); i++){int need_num = target - nums[i];map<int, int>::iterator map_result = mp.find(need_num);if (map_result == mp.end()){//这意思就是没找到所需要的元素mp.insert(pair<int,int>(nums[i],i));}else{//存放进{}中vt.push_back(map_result->second);vt.push_back(i);return vt;}}return vt;
}
相关文章:
【力扣一轮】202.快乐数 1.两数之和
202.快乐数 力扣链接 代码随想录链接 思路 看到这一题没思路,直接看题解。 发现其中一个难点在于“无限循环”,这个字眼可以转换成退出条件。退出条件就有两种,一种是这个数字是快乐数,一种是这个数字不是快乐数。 如果是快…...
Vue小程序项目知识积累(二)
1.wx.reLaunch(Object object) 关闭所有页面,打开到应用内的某个页面。 wx.reLaunch({url:/pages/positons/index}) 参数说明: 属性类型默认值必填说明urlstring是需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之…...
RK3588 Android13 预安装自己的apk应用及把这个应用设置为默认桌面
1、cp -rf device/rockchip/rk3588/rk3588m_s/preinstall device/rockchip/rk3588/rk3588_t/ 2、给device/rockchip/rk3588/rk3588_t/preinstall/的存放app的文件夹改名为app-imms2,在app-imms2放入app-imms2.apk,编译安卓源码即可, 3、编译完会在out/…...
NLP(16)--生成式任务
前言 仅记录学习过程,有问题欢迎讨论 输入输出均为不定长序列(seq2seq)自回归语言模型: x 为 str[start : end ]; y为 [start1 : end 1] 同时训练多个字,逐字计算交叉熵 encode-decode结构: Encoder将输…...
直播回放| 机器人任务挑战赛线上培训资料合集
大赛培训回顾 5月22日,卓翼飞思实验室为全国各赛区精心组织的机器人任务挑战赛(无人协同系统)线上培训第三期顺利落下帷幕,吸引300余人参与。本次培训主要针对仿真平台的基本使用,从仿真平台获取激光雷达/视觉数据&am…...
flask Web应用的接口调试
以上上一篇 Docker部署Azure chatgpt样例应用_群晖部署chatgpt-CSDN博客 xx为例 在app.py最下方有 /conversation 接口 在api.ts文件中可见调用了 /conversation 接口。 使用chrom浏览器F12查看 Networ- 本地运行后,使用postman调试。接口地址填写 http://127.0…...
简单易懂的 API 集成测试方法
简介:API 集成测试的重要性 API 集成测试是一类测试活动,用于验证 API 是否满足功能性、可靠性、性能和安全性等方面的预期要求。在多 API 协作的应用程序中,这种测试尤为紧要。 在这一阶段,我们不仅审视单个组件,还…...
leetcode 239. 滑动窗口最大值、347.前 K 个高频元素
leetcode 239. 滑动窗口最大值、347.前 K 个高频元素 leecode 239. 滑动窗口最大值 题目链接 :https://leetcode.cn/problems/sliding-window-maximum/description/ 题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的…...
npm常用指令
基础 命令:run 解释:运行脚本 示例:npm run dev 命令:list || ls 解释:查看依赖列表 示例:npm list || npm ls 命令:install || i 解释:安装依赖 示例:npm install ||…...
数字孪生技术在管理中有哪些实际应用?
随着科学技术的不断提高,数字孪生技术也在不断的从理论应用至现实,并且涉及领域较为广泛。 在生产运营管理层面,通过构建数字孪生模型,企业可以精准模拟和优化生产线,实现生产流程的智能化和高效化。比如,…...
LeetCode/NowCoder-链表经典算法OJ练习3
孜孜不倦:孜孜:勤勉,不懈怠。指工作或学习勤奋不知疲倦。💓💓💓 目录 说在前面 题目一:返回倒数第k个节点 题目二:链表的回文结构 题目三:相交链表 SUMUP结尾 说在前…...
如何理解HTML语义化
如何理解HTML语义化 HTML语义化,简单来说,就是使用HTML标签来清晰地表达页面内容的结构和意义,而不仅仅是作为布局的容器。它强调使用具有明确含义的HTML标签来描述页面元素,而不是仅仅依赖CSS来实现页面的外观和布局。 理解HTM…...
Solved problem: The number of elements in the character array
Problem: 未解决的问题:字符数组中元素的个数-CSDN博客 Solution: Add \0 at the end of the character array More detailed content can be found in the link below. Sizeof and Length of character array-CSDN博客...
Flume Channels简介及官方用例
通道是在代理上暂存事件的存储库。Source 添加事件,Sink 将其删除。 1、Memory Channel 事件存储在具有可配置最大大小的内存中队列中。它非常适合需要更高吞吐量的流,但在agent发生故障时会丢失暂存数据 Property Name Default Description type …...
【AI】如何用非Docker方法安装类GPT WebUI
【背景】 本地LLM通信的能力需要做成局域网SAAS服务才能方便所有人使用。所以需要安装WebUI,这样既有了用户界面,又做成了SAAS服务,很理想。 【问题】 文档基本首推都是Docker安装,虽然很多人都觉得容器多么多么方便࿰…...
2024年ai知识库:特点、应用与搭建
随着科技的进步和企业的需要,ai知识库逐渐走进大众的视野并深受企业的青睐,掀起了搭建ai知识库的热潮。LookLook同学就来简单介绍一下关于ai知识库的特点、应用与发展趋势,带你了解2024年的ai知识库。 一、ai知识库的定义与特点 ai知识库是结…...
查询一个字符串在另一个字符串中出现的次数(java)
查询一个字符串在另一个字符串中出现的次数 例: String str1“helloworld,java,python,hellokafka,world big table helloteacher”; String str2“hello”; 字符串str2在str1中出现3次 代码 package exercise.test8;public class Demo8 {public static void mai…...
Docker in Docker 原理与实战
一、引言 随着容器化技术的普及,Docker 作为一种主流的容器管理工具,已被广泛应用于开发、测试及生产环境中。Docker 的灵活性和便捷性使得它成为 DevOps 流程中不可或缺的一部分。然而,在一些复杂的应用场景中,我们可能需要在一…...
Rust学习心得
我分享一下一年的Rust学习经历,从书到代码都一网打尽。 关于新手如何学习Rust,我之前在Hacker News上看到了这么一篇教程: 这篇教程与其他教程不同的时,他不是一个速成教程,而是通过自己的学习经历,向需要…...
K8s deployment 进阶
文章目录 K8s deployment 进阶Deployment 更新策略RecreateRollingUpdatemaxSurge 和 maxUnavailable minReadySecondsprogressDeadlineSeconds Deployment 版本回滚Deployment 实现灰度发布 K8s deployment 进阶 Deployment 更新策略 Recreate 重建 (Recreate)&…...
2026年腾讯云OpenClaw/Hermes Agent配置Token Plan安装超全攻略
2026年腾讯云OpenClaw/Hermes Agent配置Token Plan安装超全攻略。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...
Axure RP 9汉化后,这些高效原型设计技巧让你事半功倍
Axure RP 9汉化后高效原型设计实战指南 当你终于完成Axure RP 9的安装与汉化,面对熟悉的中文界面,是否感到一丝茫然?从"能用"到"善用"这个强大的原型设计工具,中间隔着一道效率的鸿沟。本文将带你跨越这道鸿沟…...
图片批量识别提取信息
图片批量识别提取信息工具,是用aardio写的,调用微信OCR识别图片中的信息,识别正确率非常高,用于提取各类证件和文档,对于在基层村、社区工作的人员是很有帮助的。 喜欢的朋友可以下载试用。分享了「图批量识别提取信息…...
Unity GPU Instancing 在 OpenGL ES 上的底层实现与失效排查
1. 为什么 GPU Instancing 不是“开个开关就完事”的功能很多人第一次在 Unity 里勾上Enable GPU Instancing复选框,跑起来发现 Draw Call 确实从 200 掉到了 30,就以为“Instancing 成功了”。结果一换设备、一改 Shader、一加个自定义光照,…...
AI、机器学习、深度学习:工程师的三层实战分水岭
1. 这不是概念辨析课,而是一张能让你少走三年弯路的“技术地图”我带过三十多个从零起步转行做数据工作的学员,几乎每个人在入职前都反复问过同一个问题:“AI、机器学习、深度学习,到底谁是谁的爸爸?”——结果翻遍教程…...
大模型推理层归零:从vLLM到硬件直驱的架构革命
1. 项目概述:这不是一次普通更新,而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题乍看像科技媒体的夸张头条,但作为连续三年深度跟踪Claude模型演进、亲手部署过从claude-2.1到claud…...
为什么我看不到我的图库中的照片?修复并恢复图片
照片在我们生活中占据着特殊的地位,它们帮助我们重温珍贵的回忆,并与远近的亲人保持联系。照片就像一扇通往我们最珍贵时刻的私人窗口,因此,当它们突然从相册应用中消失时,会格外令人沮丧。如果你曾经疑惑过“为什么我…...
在Nodejs后端服务中集成稳定可靠的大模型能力
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Nodejs后端服务中集成稳定可靠的大模型能力 应用场景类,针对需要构建智能对话或内容生成功能的后端工程师࿰…...
LangChain-Chatchat 开发与应用(十) 企业级部署方案-Docker-Compose-K8s集群化实践
企业级部署方案:Docker Compose / K8s 集群化实践标签:Docker | Kubernetes | 高可用 | 生产部署 | DevOps一、从"单机玩具"到"生产系统" 前面九篇,咱们从 0 到 1 搭起了 Chatchat,做了二次开发,优…...
MoE架构揭秘:万亿参数大模型如何实现2%活跃率
1. 项目概述:当“参数规模”不再等于“实际计算量”你可能已经看过不少标题党文章,比如“GPT-4参数量突破1.8万亿!”——但真正值得细品的,是后半句:“它每处理一个词(token),只动用…...
