当前位置: 首页 > news >正文

代码随想录算法训练营第六天| 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和

目录

242 有效的字母异位词

349 两个数组的交集

202 快乐数

1 两数之和


242 有效的字母异位词

排序

class Solution {
public:bool isAnagram(string s, string t) {sort(s.begin(),s.end());sort(t.begin(),t.end());return t == s;}
};

时间复杂度O(nlogn)

空间复杂度O(logn)

哈希表 

class Solution {
public:bool isAnagram(string s, string t) {if(s.size() != t.size())return false;vector<int>table(26,0);for(char ch : s){table[ch - 'a']++;}for(char ch : t){table[ch - 'a']--;if(table[ch - 'a'] < 0)return false;}return true;}
};

时间复杂度O(n + m)

空间复杂度O(s)s = 26

349 两个数组的交集

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {vector<int>res;unordered_set<int>set1,set2;for(auto num : nums1){set1.insert(num);}for(auto num : nums2){set2.insert(num);}for(auto num : set1){if(set2.count(num) > 0){res.push_back(num);}}return res;}
};

时间复杂度O(n + m)

空间复杂度O(n + m)

202 快乐数

 暴力

class Solution {
public:bool isHappy(int n) {for(int i = 0;i < 100;i++){int res;while(n){int num = n % 10;n /= 10;res += num * num;}n = res;res = 0;if(n == 1)return true;}return false;}
};

哈希表

class Solution {
public:bool isHappy(int n) {unordered_set<int>set;while(n != 1 && !set.count(n)){set.insert(n);int sum = 0;while(n){sum += (n % 10)* (n % 10);n /= 10;}n = sum;}if(n == 1)return true;return false;}
};

时间复杂度O(logn)

空间复杂度O(logn) 

1 两数之和

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int>table;for(int i = 0;i < nums.size();i++){auto iterator = table.find(target - nums[i]);if(iterator != table.end()){return {iterator->second,i};}table[nums[i]] = i;}return {};}
};

时间复杂度O(n)

空间复杂度O(n) 

相关文章:

代码随想录算法训练营第六天| 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和

目录 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和 242 有效的字母异位词 排序 class Solution { public:bool isAnagram(string s, string t) {sort(s.begin(),s.end());sort(t.begin(),t.end());return t s;} }; 时间复杂度O(nlogn) 空间复杂度O(l…...

数学建模--比赛

内容来自数学建模BOOM&#xff1a;【快速入门】北海&#xff1a;数模建模基础MATLAB入门论文写作数学模型与算法(推荐数模美赛国赛小白零基础必看教程)_哔哩哔哩_bilibili 目录 1.学习内容 2.参赛须知 1&#xff09;参赛作品的组成 2)参赛作品的提交 3.软件安装 4.注意…...

JVM工作原理与实战(十六):运行时数据区-Java虚拟机栈

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、Java虚拟机栈 1.栈帧的组成 2.局部变量表 3.操作数栈 4.帧数据 总结 前言 JVM作为Java程序的运行环境&#xff0c;其负责解释和执行字节码&#xff0c;管理…...

DC-4靶机刷题记录

靶机下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1YbPuSw_xLdkta10O9e2zGw?pwdn6nx 提取码&#xff1a;n6nx 参考&#xff1a; 【【基础向】超详解vulnhub靶场DC-4-爆破反弹shell信息收集】 https://www.bilibili.com/video/BV1Le4y1o7Sx/?share_sourc…...

【前端学习笔记1】css基础

css可以使页面更漂亮&#xff0c;即美化网页 css&#xff1a;层叠样式表 标签选择器&#xff1a; 类选择器&#xff1a; id只能单次调用&#xff0c;类似人的身份证 css里只要是word里面有的功能&#xff0c;他们都有对应的&#xff0c;不会的时候查一下就行 实现垂直居中:h…...

CVE-2023-46226 Apache iotdb远程代码执行漏洞

项目介绍 Apache IoTDB 是针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点&#xff0c;完美对接 Hadoop 与 Spark 生态&#xff0c;适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。 项目地址 https://io…...

Redis实战之-分布式锁

一、基本原理和实现方式对比 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁&#xff0c;只要大家使用的是同一把锁&#xff0c;那么我们就能锁住线程&#xff0c;不让线程进行&#xff0c;让程序串行…...

Cookie同源策略

同源策略&#xff08;Same-Origin Policy&#xff09;是浏览器安全机制的一部分&#xff0c;用于限制一个源&#xff08;域名、协议和端口的组合&#xff09;的文档或脚本如何与来自另一个源的资源进行交互。这个策略帮助防止潜在的恶意网站在用户浏览器中执行恶意操作。 关于C…...

6、Numpy形状操纵

目录 1. 使用 reshape 改变形状 2. 使用 resize 改变大小和形状 3. 使用 ravel 或 flatten 展平数组 4. 使用 -1 推断尺寸 5. 使用 newaxis 增加维度 6. 使用 squeeze 移除单维度条目 1. 使用 reshape 改变形状 对于任何 NumPy 数组&#xff0c;你可以使用 reshape 方法来…...

C++初阶类与对象(二):详解构造函数和析构函数

上次为类与对象开了一个头&#xff1a;C初阶类与对象&#xff08;一&#xff09;&#xff1a;学习类与对象、访问限定符、封装、this指针 今天就来更进一步 文章目录 1.类的6个默认成员函数2.构造函数2.1引入和概念2.2构造函数特性2.2.1特性1~42.2.2注意2.2.3特性5~72.2.4注意 …...

【Vue3】3-3 : 组件之间是如何进行互相通信的

本书目录&#xff1a;点击进入 一、组件之间为什么要做通信 二、组件之间通信方式 2.1、父传子&#xff1a;由传递属性实现 stage 1&#xff1a;申明 &#xff08;即定义&#xff09; stage 2&#xff1a;注册 stage 3&#xff1a;使用 【示例】&#xff1a;父组件将 tit…...

网络端口映射和端口转发的区别和联系

目 录 一、端口映射技术 1.1 原理 1.2 应用场景 1、远程访问 2、游戏主机 3、文件共享 4、监控视频共享 二、端口转发技术 2.1 原理 2.2 应用场景 1、网络负载均衡 2、网络安全 3、网络代理 三、端口映射和转发的实现方法 3.1 路由器配置 3.2 网络防火墙 …...

VLSI超大规模集成电路设计复习

目录 VLSI超大规模集成电路设计复习引论MOS原理延时组合逻辑时序电路SRAM 总结&#xff08;一张纸&#xff09;参考资料 VLSI超大规模集成电路设计复习 复习可参照官网PPT上的知识点&#xff0c;然后根据知识点对应的去看书上的讲解。 引论 摩尔定律 尺寸缩小定律 N、P型半…...

GCC 内联汇编

LINUX下的汇编入门 AT&T风格 汇编 和GCC风格汇编 汇编代码的调试 前面写了三篇,是自我摸索三篇,摸着石头过河,有些或许是错误的细节,不必在意! 今天我们直接用GCC编译C语言代码,且在C语言里面内嵌AT&T风格的汇编! 前三篇大家了解即可,我们重点放在内嵌汇编里,简单快…...

springboot整合websocket后启动报错:javax.websocket.server.ServerContainer not available

一、场景 Springboot使用ServerEndpoint来建立websocket链接。引入依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>配置Websocket Confi…...

Vue面试之生命周期(上篇)

Vue面试之生命周期(上篇) 创建阶段beforeCreatecreated挂载阶段beforeMountmounted更新阶段beforeUpdateupdated销毁阶段beforeDestroydestroyed补充说明activated...

Gin 框架之用户密码加密

文章目录 一、引入二、密码加密位置三、如何加密四、bcrypt 库加密4.1 介绍4.2 优点&#xff1a;4.3 使用 五、小黄书密码加密实践 一、引入 Gin是一个用Go语言编写的Web框架&#xff0c;而用户密码的加密通常是在应用程序中处理用户身份验证时的一个重要问题。 通常敏感信息…...

【创作活动】ChatGPT 和文心一言哪个更好用?

文章目录 文心一言优点缺点 ChatGPT优点缺点 Java编码能力比较对人工智能的看法 ChatGPT是由OpenAI开发的交互式AI大模型&#xff0c; 文心一言是由百度研发的知识增强大语言模型&#xff0c;本文从Java开发的角度对比一下哪个更好用&#xff08;本文仅用于投稿CSDN创造活动&am…...

【linux】查看Debian应用程序图标对应的可执行命令

在Debian系统中&#xff0c;应用程序图标通常与.desktop文件关联。您可以通过查看.desktop文件来找到对应的可执行命令。这些文件通常位于/usr/share/applications/或~/.local/share/applications/目录下。这里是如何查找的步骤&#xff1a; 1. 打开文件管理器或终端。 2. 导…...

TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统&#xff0c;它与Apache Subversion&#xff08;SVN&#xff09;集成在一起&#xff0c;提供了一个用户友好的界面&#xff0c;方便用…...

智能数据上下文层:让AI代理真正理解您的企业数据价值

智能数据上下文层&#xff1a;让AI代理真正理解您的企业数据价值 【免费下载链接】WrenAI Turn any AI Agents into world-class data analysts through the open context layer that gives AI agents grounded, governed memory, context, SQL across 20 data sources, that h…...

CANN/pypto填充操作API

pypto.pad 【免费下载链接】pypto PyPTO&#xff08;发音: pai p-t-o&#xff09;&#xff1a;Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atla…...

3个高效窗口管理技巧:用AlwaysOnTop重新定义你的多任务工作流

3个高效窗口管理技巧&#xff1a;用AlwaysOnTop重新定义你的多任务工作流 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否曾在编写代码时&#xff0c;为了查看API文档而反…...

图表数据提取神器:3个步骤让WebPlotDigitizer帮你从图片中“挖“出宝贵数据

图表数据提取神器&#xff1a;3个步骤让WebPlotDigitizer帮你从图片中"挖"出宝贵数据 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigiti…...

深入理解Android中startActivity的完整流程:聚焦IPC机制与Binder原理

引言 在Android开发中,startActivity() 方法是启动新Activity的核心API,它贯穿了应用的生命周期管理。理解其内部流程,不仅有助于优化性能、避免常见错误,还能提升开发者在面试中的竞争力。本文将以“一次完整的 startActivity 到底经历了什么”为主题,深入探讨整个流程,…...

Frida-server魔改实战:Android native层反调试对抗七步法

1. 这不是“绕过检测”&#xff0c;而是让frida-server从“被识别对象”变成“系统一部分”在安卓逆向和安全测试一线干了十多年&#xff0c;我见过太多人把Frida检测对抗理解成一场猫鼠游戏&#xff1a;App加个检测逻辑&#xff0c;测试方就写个绕过脚本&#xff1b;检测逻辑升…...

开环传递函数T/(1+T)与1/(1+T)的工程解析:从波特图看系统跟随性与抗扰性设计

1. 开环传递函数&#xff1a;系统性能的“基因图谱”在任何一个从事自动控制、电力电子或者信号处理领域工程师的日常工具箱里&#xff0c;频域分析都是一个绕不开的核心技能。而当我们谈论一个负反馈系统的性能时&#xff0c;无论是它的响应速度、抗干扰能力还是稳定性&#x…...

RK3562核心板深度解析:10路UART与1TOPS NPU在工业边缘计算的应用

1. 项目概述&#xff1a;为什么RK3562核心板值得关注&#xff1f;最近在给一个工业网关项目做硬件选型&#xff0c;市面上各种核心板看得人眼花缭乱。从传统的ARM Cortex-A系列到各种专用SoC&#xff0c;性能和接口的平衡点一直很难找。直到接触到迅为电子这款基于瑞芯微RK3562…...

液压液水解安定性检测:核心原理与全行业应用场景解析

液压系统是各类工业、工程、交通设备的动力核心&#xff0c;而液压液作为系统的工作介质&#xff0c;其性能稳定性直接决定设备的运行精度、故障率以及使用寿命。在复杂工况中&#xff0c;水分侵入是导致液压液失效的核心诱因之一&#xff0c;油液遇水发生水解反应后&#xff0…...

Jooby数据库集成实战:Hikari、JDBI、Ebean最佳实践

Jooby数据库集成实战&#xff1a;Hikari、JDBI、Ebean最佳实践 【免费下载链接】jooby The modular web framework for Java and Kotlin 项目地址: https://gitcode.com/gh_mirrors/jo/jooby Jooby是一个模块化的Java和Kotlin Web框架&#xff0c;提供了简洁高效的数据库…...