leetcode242. 有效的字母异位词
题目:leetcode242. 有效的字母异位词
描述:
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
思路:
对于这道题,做一个哈希表来解决是最好的,暴力破解的时间复杂度太高。
首先题目其实是让我们判断字符串s和字符串t是否是同一个字符串的不一样的顺序,也就是s字符串打乱顺序之后是否可以成为t。
明白了题目要求之后我们就可以做了,首先题目说了可以假定都是小写字母,那么字母数量就是26个(如果有大写有小写,那我们就要设置52个字母数量),设置一个26个空间的整型数组来记录这个字符串当中出现的字母,遍历第一个字符串,每个字母-'a’就得到了一个0到25的数字大小,对应数组的下标,最后对应的数组下标的位置做加一操作。
对于第二个字符串也是一样的求出对应数组的下标,但是做的是减一操作。
做完上述操作之后,检查哈希数组每个位置是否都是0,如果是则符合规定,如果不是返回false。
代码:
class Solution {public boolean isAnagram(String s, String t) {int[] hashTable=new int[26]; //26个空间大小来保存26个字母的情况for(int i=0;i<s.length();i++)hashTable[s.charAt(i)-'a']++;for(int i=0;i<t.length();i++)hashTable[t.charAt(i)-'a']--;for(int i:hashTable)if(i!=0)return false;return true;}
}
相关文章:
leetcode242. 有效的字母异位词
题目:leetcode242. 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s “…...
Unity 编辑器资源导入处理函数 OnPostprocessAudio :深入解析与实用案例
Unity 编辑器资源导入处理函数 OnPostprocessAudio 用法 点击封面跳转下载页面 简介 在Unity中,我们可以使用编辑器资源导入处理函数(OnPostprocessAudio)来自定义处理音频资源的导入过程。这个函数是继承自AssetPostprocessor类的ÿ…...
uniapp开发(由浅到深)
文章目录 1. 项目构建1.1 脚手架构建1.2 HBuilderX创建 uni-app项目步骤: 2 . 包依赖2.1 uView2.2 使用uni原生ui插件2.3 uni-modules2.4 vuex使用 3.跨平台兼容3.1 条件编译 4.API 使用4.1 正逆参数传递 5. 接口封装6. 多端打包3.1 微信小程序3.2 打包App3.2.1 自有…...
QT-基于Buildroot构建系统镜像下实现QT开发
QT-基于Buildroot构建系统镜像下实现QT开发 BuildRootUboot的仓库地址和commit idKernel 的仓库地址和commit id BuildRoot已编译库在Windows上的Create上创建项目编译QT项目 BuildRoot 这部分按照100ask官网的教程走即可: Uboot的仓库地址和commit id https://e.coding.net/…...
优雅地处理RabbitMQ中的消息丢失
目录 一、异常处理 二、消息重试机制 三、错误日志记录 四、死信队列 五、监控与告警 优雅地处理RabbitMQ中的消息丢失对于构建可靠的消息系统至关重要。下面将介绍一些优雅处理消息丢失的方案,包括异常处理、重试机制、错误日志记录、死信队列和监控告警等。…...
Vim入门教程vimtutor1.7总结
vimtutor命令可以打开教程文档 原文特别提示 ⬇⬇⬇ 特别提示:切记您要在使用中学习,而不是在记忆中学习 Vim模式 正常模式(Normal Mode):默认模式,可以使用基础命令进行操作命令模式(Command…...
Stephen Wolfram:让 ChatGPT 真正起作用的是什么?
What Really Lets ChatGPT Work? 让 ChatGPT 真正起作用的是什么? Human language—and the processes of thinking involved in generating it—have always seemed to represent a kind of pinnacle of complexity. And indeed it’s seemed somewhat remarkabl…...
CTF-Flask-Jinja2(持续更新)
放心,我会一直陪着你 一.知识一.在终端的一些指令1.虚拟环境2.docker容器二.SSTI相关知识介绍1.魔术方法2.python如何执行cmd命令3.SSTI常用注入模块(1)文件读取(2)内建函数eval执行命令(3)os模块执行命令(4)importlib类执行命令(5)linecache函数执行命令(6)subproc…...
linux文件I/O之 fcntl() 函数用法:设置文件的 flags、设置文件锁(记录锁)
头文件和函数声明 #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd, ... /* arg */ ); 函数功能 获取、设置已打开文件的属性 返回值 成功时返回根据 cmd 传递的命令类型的执行结,失败时返回 -1,并设置 errno 为相…...
黑马项目一完结后阶段面试45题 JavaSE基础部分20题(一)
一、Java数据类型 基本数据类型——四类八种 整数型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean 引用数据类型 String字符串 类(对象) 接口类型 数组类型 枚举类型 二、面向对象的三大特性 1.封装 把同一类事物…...
(一)创建型设计模式:3、建造者模式(Builder Pattern)
目录 1、建造者模式含义 2、建造者模式的讲解 3、使用C实现建造者模式的实例 4、建造者模式的优缺点 5、建造者模式VS工厂模式 1、建造者模式含义 The intent of the Builder design pattern is to separate the construction of a complex object from its representatio…...
指针进阶大冒险:解锁C语言中的奇妙世界!
目录 引言 第一阶段:🔍 独特的字符指针 什么是字符指针? 字符指针的用途 演示:使用字符指针拷贝字符串 字符指针与字符串常量 小试牛刀 第二阶段:🎯 玩转指针数组 指针数组是什么? 指针…...
2.0 Maven基础
1. Maven概述 Maven概念 Apache Maven是一个软件项目管理工具,将项目开发和管理过程抽象程一个项目对象模型(POM,Project Object Model)。 Maven作用 项目构建 提供标准的、跨平台的自动化项目构建方式。 依赖管理 方便快捷…...
在Linux虚拟机内配置nginx以及docker
目录 1、nginx源码包编译以及安装依赖 1、配置安装所需的编译环境 2、安装函数库(pcre、zlib、openssl) 2、安装nginx 1、获取源码包 2、解压编译 3、启动nginx服务 1、关闭防火墙 2、运行nginx 3、使用本地浏览器进行验证 3、安装docker 1、…...
数据结构-带头双向循环链表的实现
前言 带头双向循环链表是一种重要的数据结构,它的结构是很完美的,它弥补了单链表的许多不足,让我们一起来了解一下它是如何实现的吧! 1.节点的结构 它的节点中存储着数据和两个指针,一个指针_prev用来记录前一个节点…...
android Ndk Jni动态注册方式以及静态注册
目录 一.静态注册方式 二.动态注册方式 三.源代码 一.静态注册方式 1.项目名\app\src\main下新建一个jni目录 2.在jni目录下,再新建一个Android.mk文件 写入以下配置 LOCAL_PATH := $(call my-dir)//获取当前Android.mk所在目录 inclu...
MySQL中的索引
1.2.MySQL中的索引 InnoDB存储引擎支持以下几种常见的索引:B树索引、全文索引、哈希索引,其中比较关键的是B树索引 1.2.1.B树索引 InnoDB中的索引自然也是按照B树来组织的,前面我们说过B树的叶子节点用来放数据的,但是放什么数…...
idea中如何处理飘红提示
idea中如何处理飘红提示 在写sql时,总是会提示各种错误 查找资料,大部分都是说关提示,这里把错误提示选择为None即可 关掉以后,也确实不显示任何提示了,但总有一种掩耳盗铃的感觉 这个sms表明明存在,但是还…...
Elasticsearch使用中出现的错误
Elasticsearch使用中出现的错误 1、分页查询异常 在分页的过程中出现了一个问题是当查询的数据超过10000条的时候报了异常: from size must be less than or equal to: [10000]这个问题最快捷的解决方式是增大窗口大小: curl -XPUT http://127.0.0.…...
【IMX6ULL驱动开发学习】01.编写第一个hello驱动+自动创建设备节点(不涉及硬件操作)
目录 一、驱动程序编写流程 二、代码编写 2.1 驱动程序hello_drv.c 2.2 测试程序 2.3 编写驱动程序的Makefile 三、上机实验 3.1 NFS 挂载 3.2 测试示例 一、驱动程序编写流程 构造file_operations结构体 在里面填充open/read/write/ioctl成员 注册file_operations结…...
5步深度解析:ComfyUI-SUPIR图像超分辨率实战指南
5步深度解析:ComfyUI-SUPIR图像超分辨率实战指南 【免费下载链接】ComfyUI-SUPIR SUPIR upscaling wrapper for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-SUPIR ComfyUI-SUPIR是ComfyUI生态中一款基于扩散模型的专业级图像超分辨率插件…...
多线程缓存性能优化与内存子系统深度解析
1. 多线程缓存性能的本质矛盾现代处理器设计中,缓存系统对性能的影响远超大多数程序员的想象。当我们把视线投向多线程环境时,缓存行为会呈现出一些反直觉的特性。以典型的Intel Core 2 Duo处理器为例,其每个核心拥有32KB L1数据缓存和4MB共享…...
PDF-XSS漏洞:从原理到实战的深度剖析
1. PDF-XSS漏洞的本质与危害 第一次听说PDF文件也能执行恶意代码时,我和大多数安全新手一样感到不可思议。毕竟在我们日常认知里,PDF就是个安全的文档格式,谁会想到它能成为攻击载体?直到有次在渗透测试中,我亲眼看到同…...
手把手教你用CarMaker 10.2和Matlab R2021a搭建联合仿真环境(附避坑指南)
从零开始构建CarMaker与Simulink联合仿真环境的完整指南 当车辆动力学仿真遇到控制系统设计,CarMaker与Simulink的联合仿真环境就像给工程师装上了涡轮增压器。这个强大的组合允许你在高度逼真的虚拟测试环境中验证控制算法,而无需等待物理原型。想象一下…...
别再死记硬背了!用这3个生活化比喻,彻底搞懂Unity UI锚点(Anchors)
橡皮筋、磁铁与家具:用生活常识破解Unity锚点之谜 第一次接触Unity的UI系统时,那个神秘的锚点(Anchors)功能总让人摸不着头脑。为什么调整四个小三角就能控制界面元素的布局?为什么有些按钮在不同屏幕上会自动拉伸&…...
保姆级教程:用Python 3.11和Poetry从零部署微软GraphRAG v2.7.0(附Azure OpenAI配置)
从零部署微软GraphRAG v2.7.0:Python 3.11与Poetry实战指南 当开发者第一次接触微软开源的GraphRAG框架时,往往会被其强大的知识图谱构建能力所吸引——这个基于图结构的检索增强生成系统,能通过智能节点关联实现远超传统RAG的语义理解深度。…...
文科生逆袭!零基础转行AI,我靠AI工具直接涨薪50%!
本文分享了作者从文科背景转行AI的成功经验。作者首先打破文科生不适合进入AI行业的误区,选定AI产品和提示词工程师作为切入点。接着,作者通过大量使用AI工具建立AI体感,并制作了一个轻量级的项目作品集,展示了如何利用AI工具梳理…...
WarcraftHelper深度解析:让经典魔兽争霸3在现代系统重获新生
WarcraftHelper深度解析:让经典魔兽争霸3在现代系统重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还记得那个曾经陪伴我们…...
Simulink AUTOSAR建模:Constant Memory、Shared与Per-Instance Parameter到底怎么选?看生成代码就懂了
Simulink AUTOSAR建模实战:从代码生成角度解析Parameter类型选择 在AUTOSAR软件组件开发过程中,Parameter的配置选择往往让开发者陷入纠结——Constant Memory、Shared Parameter和Per-Instance Parameter究竟有什么区别?它们生成的代码有何不…...
Bootstrap自采样:用R语言从零模拟,搞懂这个统计‘黑魔法’到底在做什么
Bootstrap自采样:用R语言从零模拟,搞懂这个统计‘黑魔法’到底在做什么 想象一下,你手里只有一份小小的数据集,却要回答一个关键问题:这个统计量的估计到底有多可靠?传统方法可能因为样本量太小或分布假设不…...
