刷题了:242.有效的字母异位词 |349. 两个数组的交集 | 202. 快乐数|1. 两数之和

news2025/1/12 0:47:44

学习记录,主要参考:代码随想录

哈希表理论基础

文章讲解:https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html
哈希表(Hash table)
哈希表是根据关键码的值而直接进行访问的数据结构。

242.有效的字母异位词

题目链接:https://leetcode.cn/problems/valid-anagram/description/
文章讲解:https://programmercarl.com/0242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
视频讲解:https://www.bilibili.com/video/BV1YG411p7BA/?spm_id_from=333.788&vd_source=e70917aa6392827d1ccc8d85e19e8375
实现情况:
主要是判断是否由相同字母组成,都是小写字母
可以使用哈希表
size范围可控、较小可以使用数组
较大的选择set
需要使用value的使用map
s.length(): //length:字符串的长度,不包含’/0’
for(int count:record):使用for-each循环遍历record数组

class Solution {
public:
    bool isAnagram(string s, string t) {
        int record[26] = {0}; // 定义数组并且设置为0

        for (int i = 0; i < s.length(); i++) { // length:字符串的长度,不包含'/0'
            record[s[i] - 'a']++;
        }

        for (int i = 0; i < t.length(); i++) {
            record[t[i] - 'a']--;
        }

        for (int count : record) { // 使用for-each循环遍历record数组
            if (count != 0) {
                return false;
            }
        }
        return true;
    }
};

在这里插入图片描述

349. 两个数组的交集

题目链接:https://leetcode.cn/problems/intersection-of-two-arrays/description/
文章讲解:https://programmercarl.com/0349.%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
视频讲解:https://www.bilibili.com/video/BV1ba411S7wu/?spm_id_from=pageDriver&vd_source=e70917aa6392827d1ccc8d85e19e8375
实现情况:
要注意去重

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> result_set; // 默认是帮助去重的
        unordered_set<int> nums_set(nums1.begin(),
                                    nums1.end()); // 将nums1映射到哈希表
        for (int num : nums2) {                   // 遍历nums2
            if (nums_set.find(num) !=
                nums_set.end()) {       // 在nums_set中查找是否存在num
                result_set.insert(num); // 插入一样的数据
            }
        }
        return vector<int>(result_set.begin(),
                           result_set.end()); // 将哈希链表转换为数组
    }
};

在这里插入图片描述

202. 快乐数

题目链接:
文章讲解:https://leetcode.cn/problems/happy-number/description/https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html
实现情况:

class Solution {
public:
    int getSum(int n) {
        int sum = 0;
        while (n) {
            // sum += (n % 10) * (n % 10);
            sum += pow((n%10),2);
            n /= 10;
        }
        return sum;
    }
    bool isHappy(int n) {
        unordered_set<int> result_set;
        while (1) {
            int sum = getSum(n);
            if (sum == 1) {
                return true;
            }
            if (result_set.find(sum) != result_set.end()) {
                return false;
            } else {
                result_set.insert(sum);
            }
            n = sum;
        }
    }
};

在这里插入图片描述

1. 两数之和

题目链接:
文章讲解:https://programmercarl.com/0001.%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
视频讲解:https://www.bilibili.com/video/BV1aT41177mK/?spm_id_from=pageDriver&vd_source=e70917aa6392827d1ccc8d85e19e8375
实现情况:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        std::unordered_map <int,int> map;//存放遍历过的元素
        for(int i = 0; i < nums.size(); i++){
            auto iter = map.find(target-nums[i]);//将target减去nums当中每个数据,存储在iter中
            if(iter!=map.end()){//匹配map是否有和iter中相同的数据
                // return {iter->second,i};//
                return {i,iter->second};
            }
            map.insert(pair<int,int>(nums[i],i));//遍历过的元素添加到map
        }
        return {};

        
    }
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1941429.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

deepseek-vl 论文阅读笔记

目录 一、已有模型性能差距分析 二、创新点 数据集构建 模型架构 训练策略 实验与评估 三、细节 数据构建 内部SFT数据的分类体系 模型架构 训练流程包括三个阶段 系统包含三个模块 混合视觉编码器 视觉-语言适配器 语言模型 训练策略 阶段一&#xff1a;训练…

nfs和web服务器的搭建

&#xff08;一&#xff09;web服务器的搭建 1.配置基本环境 要点有&#xff0c;yum源&#xff0c;包含nginx和阿里云&#xff08;或者腾讯云或者华为云&#xff09;&#xff0c;这里的相关知识可以参考之前的yum配置笔记 2.安装nginx yum -y install nginx 3.验证并且开启服…

MLCC电容特性及注意事项

MLCC结构和工作原理 如下图所示&#xff0c;MLCC电容结构较简单&#xff0c;由陶瓷介质、内电极金属层和外电极三层构成。 MLCC的电容量公式可以如下表示&#xff1a; C&#xff1a;电容量&#xff0c;以F&#xff08;法拉&#xff09;为单位&#xff0c;而MLCC之电容值以PF&…

AWE2025正式启动,AWE×AI 推动智慧生活的普及

7月18日&#xff0c;2025年中国家电及消费电子博览会&#xff08;AWE2025&#xff09;正式启动。主办方宣布&#xff0c;AWE2025的主题为“AI科技、AI生活”&#xff0c;展会将于2025年3月20-23日在上海新国际博览中心举办。 作为全球三大家电和消费电子领域展会之一&#xff…

数字孪生智慧农业技术:优化农业生产的未来

随着科技的进步和全球食品需求的增长&#xff0c;数字孪生智慧农业技术作为现代农业生产的新兴力量&#xff0c;正在为农业界带来革命性的变化和巨大的发展潜力。本文将深入探讨数字孪生智慧农业技术的核心架构、关键技术应用及其在提升农业生产效率和可持续发展中的作用。 ###…

word压缩大小怎么弄?这几种方法轻松压缩word文件!

word压缩大小怎么弄&#xff1f;面对庞大无比的Word文档&#xff0c;我们往往遭遇诸多不便&#xff0c;它们如同数据海洋中的巨鲸&#xff0c;不仅鲸吞存储空间&#xff0c;更在传输途中缓缓游弋&#xff0c;耗费大量时光&#xff0c;在资源有限的设备上&#xff0c;这些文档仿…

python基础语法 007 文件操作-1读取写入

1 文件操作 1.1 什么时候用文件操作&#xff1f; 打开文档写东西看东西拿文档做统计 在python 文档操作作用 存储数据读取数据 打开文件有什么用&#xff1f; 读取数据&#xff0c;写入数据不管什么数据都可以用open打开&#xff0c;如可复制一张图片 1.2 open() 读取,…

开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)

一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理&#xff0c;使应用程序能够处理各种不同的请求场景&#xff0c;提高应用程序的灵活性和可扩展性。 在数据验证和转换方面&#xff0c;高级用法提供了更精细和准确的控制&#…

SqlServer: LAG等开窗函数应用

原贴&#xff1a; https://bbs.csdn.net/topics/619167074 https://learn.microsoft.com/zh-cn/sql/t-sql/functions/lag-transact-sql?viewsql-server-ver16 CREATE TABLE #kcb(xlh INT,shul INT,ftshl INT ) INSERT INTO #kcb(xlh,shul,ftshl) SELECT 1,20…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 中文分词模拟器(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

python基础语法 007 文件操作-2文件支持模式文件的内置函数

1.3 文件支持的模式 模式含义ropen a file for reading(default)wopen a file for writing,creates a new file if it does not exist or truncates the file if it exists x open a file foe exclusive creation. if the file already exists, the operation fails.独创模式&…

Redis中的哨兵(Sentinel)

上篇文章我们讲述了Redis中的主从复制&#xff08;Redis分布式系统中的主从复制-CSDN博客&#xff09;&#xff0c;本篇文章针对主从复制中的问题引出Redis中的哨兵&#xff0c;希望本篇文章会对你有所帮助。 文章目录 一、引入哨兵机制 二、基本概念 三、主从复制的问题 四、哨…

tensorflow keras Model.fit returning: ValueError: Unrecognized data type

题意&#xff1a;TensorFlow Keras 的 Model.fit 方法返回了一个 ValueError&#xff0c;提示数据类型无法识别 问题背景&#xff1a; Im trying to train a keras model with 2 inputs: an image part thats a tf.data.Dataset and a nor mal part represented by a pd.DataF…

Python游戏制作-开心消消乐游戏

制作一个类似“开心消消乐”的消除游戏在Python中是一个相对复杂的项目&#xff0c;因为它涉及到多个游戏机制&#xff0c;如元素匹配、消除动画、游戏界面设计、关卡管理以及用户交互等。 步骤 1: 定义游戏结构和元素 首先&#xff0c;你需要定义游戏的基本元素&#xff0c;…

一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略

一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略 HTTP协议使用明文传输&#xff0c;不能保证安全性&#xff0c;而使用HTTPS却能够保证传输安全 为什么HTTPS能够保证传输安全呢&#xff1f; HTTPS在HTTP的基础上除了要进行TCP三次握手&#xff0c;还会进行TLS的四次握…

国产系统上的 Copilot 初体验

2023年&#xff0c;微软发布了 Windows Copilot&#xff0c;到2024年更进一步&#xff0c;将 Copilot 深度集成到 Windows 11 系统中&#xff0c;免费供用户使用&#xff0c;这一举措震动了整个科技业界。然而&#xff0c;令人遗憾的是&#xff0c;Windows Copilot 并未对中国区…

盘点2024年5款实用靠谱的学术翻译工具。

学术翻译软件能够帮我们们快速处理大量的外语文本&#xff0c;可以节省自己翻译时间&#xff0c;降低阅读难度。对于那些需要大量阅览外语资料和文献的人来说&#xff0c;使用学术翻译软件来辅助学习研究效率是十分高的。这里会帮助大家列举5个专业又高效的学术翻译软件。 1、…

Vue3企业级项目开发实战课-笔记记录

基础篇 vue3的编译和非编译模式 Vue.js 代码经过编译后才能在浏览器运行&#xff0c;而且&#xff0c;Vue.js 代码编译后的结果就是基于非编译语法来运行的。 vue3代码编译过程主要进行了一下操作 把 Vue.js 代码里的模板编译成基于 JavaScript 代码描述的 VNode&#xff0…

计算机技术基础 (bat 批处理)Note3

计算机技术基础 &#xff08;bat 批处理&#xff09;Note3 本节主要讲 Goto ; Find ; TYPE ; START ; CALL 命令 Goto 命令 Goto 命令&#xff1a;指定跳转到标签行&#xff0c;找到标签行后&#xff0c;程序将处理下一行开始的命令。&#xff08;它本身不执行任何操作&…

快速认识EA(Enterprise Architecture)

前言 企业架构&#xff0c;英文是&#xff1a;Enterprise Architecture&#xff0c;简称&#xff1a;EA&#xff0c;是承接企业战略规划与IT建设之间的桥梁&#xff0c;是企业信息化的核心&#xff0c;主要包括业务架构和IT架构。 架构的本质是管理和解决系统的复杂性&#x…