leetcode-05-[242]有效的字母异位词[349]两个数组的交集[202]快乐数[1]两数之和
重点:
哈希表:当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。
常用数据结构:
List 数组 固定大小 如26个字母,10个数字 空间换时间
Set hashset 去重
Map hashmap <K,V>形式
小重点:
注意边界条件
一、[242]有效的字母异位词
数组
class Solution {public boolean isAnagram(String s, String t) {int[] res=new int[26];for(int i=0;i<t.length();i++){res[t.charAt(i)-'a']++;}for(int j=0;j<s.length();j++){res[s.charAt(j)-'a']--;}for(int k=0;k<res.length;k++){if(res[k]!=0){return false;}}return true;}
}
二、[349]两个数组的交集
set
class Solution {public int[] intersection(int[] nums1, int[] nums2) {//临界条件if (nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0) {return new int[0];}HashSet<Integer> set = new HashSet<Integer>();HashSet<Integer> resSet = new HashSet<Integer>();for(int i:nums1) {set.add(i);}for(int j:nums2){if(set.contains(j)){resSet.add(j);}}return resSet.stream().mapToInt(i -> i).toArray();}
}
三、[202]快乐数
无限循环:即出现不止一次,考虑用哈希表
class Solution {public boolean isHappy(int n) {//无限循环 重点//即出现不止一次//list 不好处理HashSet<Integer> records = new HashSet<>();while(n!=1&&!records.contains(n)){records.add(n);n=getNextNumber(n);}return n==1;}int getNextNumber(int n){int sum=0;while(n!=0){int tmp=n%10;sum+=tmp*tmp;n=n/10;}return sum;}}
四、[1]两数之和
map
class Solution {public int[] twoSum(int[] nums, int target) {HashMap<Integer, Integer> map = new HashMap<>();//注意一下int[] res=new int[2];//临界条件if(nums == null || nums.length == 0){return res;}for(int j=0;j<nums.length;j++){if(map.containsKey(target-nums[j])){//赋值res[0]=j;res[1]=map.get(target-nums[j]);break;}//此处可加入map,不用单独的for循环赋值map.put(nums[j], j);}return res;}
}
相关文章:
leetcode-05-[242]有效的字母异位词[349]两个数组的交集[202]快乐数[1]两数之和
重点: 哈希表:当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 常用数据结构: List 数组 固定大小 如26个字母,10个数字 空间换时间 Set hashset 去重 Map hashmap <K,V>形式 …...
C语言实现动态栈
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>// 每一个节点的数据类型 typedef struct Node {int data;struct Node * pNext; }NODE, * PNODE; // NODE等价 struct Node PNODE等价于 struct Node *// 栈 typedef struct Stack {PNODE pTop;P…...
进程间的通信
管道 匿名管道 匿名管道的⽣命周期,是随进程的创建⽽建⽴,随进程的结束⽽销毁 匿名管道的创建,需要通过下⾯这个系统调⽤: int pipe(int fd[2]) 这⾥表示创建⼀个匿名管道,并返回了两个描述符,⼀个是…...
hadoop/hive/DBeaver启动流程
hadoop 启动 cd到指定目录下 cd /opt/module/hadoop-3.3.0/sbin/启动文件 ./start-all.shjps一下,查看显示的内容 应该显示以下内容 NameNode SecondaryNameNode DataNode ResourceManager NodeManager如果缺少namenode,那么执行 rm -rf /tmp/hadoo…...
1节18650锂电池的容量是多大,电流,电压是多大
1节标准的18650锂电池的规格通常如下: 容量: 18650锂电池的容量通常在1800mAh(毫安时)到3000mAh之间,这取决于电池的化学成分和制造商的设计。例如,许多常见的18650电池标称容量为2200mAh或2600mAh。 电流…...
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真。仿真输出GDOP优化结果,遗传算法的优化收敛曲线以及三维空间坐标点。 2.测试软件版本以及运行…...
Linux C语言:多级指针(void指针和const)
一、多级指针 把一个指向指针变量的指针变量,称为多级指针变量对于指向处理数据的指针变量称为一级指针变量指向一级指针变量的指针变量称为二级指针变量 1、二级指针变量的说明形式 <数据类型> ** <指针名> ; 一张图理解二级指针 2、多…...
MicroPython+ESP32 C3开发上云
传感器PinI/O状态D412输出1开0关D513输出1开0关 概述 MicroPython是python3编程语言的精简实现,能够在资源非常有限的硬件上运行,如MCU微控制器Micropython的网络功能和计算功能很强大,有非常多的库可以使用,它为嵌入式开发带来了…...
动态 SQL
动态 SQL 是 MyBatis 的强大特性之一,能够完成不同条件下不同的 sql 拼接。也就是说执行的 SQL 语句并不是固定的,而是不同人的不同操作执行的语句会有所差异。MyBatis 通过使用 标签 的方式来实现这种灵活性的。 <if>标签 例如在有一些网站进行…...
功能强大的多功能文档转换工具Neevia Document Converter Pro 7.5.0.241
Neevia Document Converter Pro是一款功能强大的Windows软件,旨在将文档转换为各种格式,包括PDF、TIFF、JPEG和许多其他格式。该程序专为在企业环境中使用而设计,提供文档转换和处理过程的自动化,这使其成为处理大量文档的组织的***工具。 Neevia Document Converter Pro的…...
从零到一,深入浅出大语言模型的奇妙世界
2022 年底,OpenAI 发布的 ChatGPT 模型在全球范围内引起了巨大轰动。本文详细的介绍了大语言模型的发展历程、构建过程和大语言模型如何使用等知识,帮助大家搞懂大语言模型。 一、大语言模型发展历程 大模型技术并不是一蹴而就的,大语言模型…...
ESP8266发送WOL幻数据包实现电脑远程唤醒
计算机远程唤醒(Wake-on-LAN, WOL) 计算机远程唤醒(Wake-on-LAN,简称 WOL)是一种局域网唤醒技术,可以将局域网内处于关机或休眠状态的计算机唤醒至引导(Boot Loader)或运行状态。无…...
用一个ESP32S3-Zero把有线键盘变为无线
三脚猫最近一直琢磨,那些喜欢买剪线键盘,以及自制键盘瞎折腾的人都是怎么搞的。经过不懈努力,终于想明白除了直接的硬件一个个pin针的高低电压判断后转给蓝牙,拿到现成的古董剪线键盘还有一个方式其实是在usb host转发给蓝牙类似这…...
Redis 7.x 系列【3】多种连接方式
有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. Redis Cli3. 可视化管理工具3.1 Redis Insight3.2 RedisDesktopManager 4. …...
数据结构(DS)C语言版:学习笔记(4):线性表
参考教材:数据结构C语言版(严蔚敏,吴伟民编著) 工具:XMind、幕布、公式编译器 正在备考,结合自身空闲时间,不定时更新,会在里面加入一些真题帮助理解数据结构 目录 2.1线性…...
Linux 命令大全
Linux 命令大全 Linux是一个强大的操作系统,它通过命令行界面提供了丰富的功能和灵活性。了解和掌握各种Linux命令对于系统管理员和开发者来说至关重要。本文将为您提供一个全面的Linux命令大全,帮助您更好地理解和使用Linux系统。 基础命令 ls - 列出目录内容。cd - 更改当…...
[华为北向网管NCE开发教程(6)消息订阅
1.作用 之前介绍的都是我们向网管NCE发起请求获取数据,消息订阅则反过来,是网管NCE系统给我们推送信息。其原理和MQ,JMS这些差不多,这里不过多累述。 2.场景 所支持订阅的场景有如下,以告警通知为例,当我…...
2024.6.15 英语六级 经验与复盘
文章目录 英语六级 经验与复盘2024年上半年六级考试(2024 6.8 - 6.15)前情提要:经验:作文:(30min)听力:(25min)SectionC(精细阅读) (30min)SectionB(段落匹配) (15min)SectionA(选词填空) (5min / 舍弃)翻译(20min&…...
计算机专业的未来展望
身份角度一:一名曾经的计算机专业学生 作为一名曾经的计算机专业学生,我认为计算机相关专业仍然是一个值得考虑的选择。随着科技的飞速发展,计算机行业的需求只会越来越高,因此,无论是在就业前景还是个人发展方面&a…...
Shell变量的高级用法
在Shell编程中,变量的使用是至关重要的。初学者可能只使用最基本的变量赋值和调用,但Shell变量实际上有很多高级用法,可以极大地提升脚本的灵活性和效率。本文将介绍几种Shell变量的高级用法,帮助您更好地利用Shell脚本。 1. 参数…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
