【力扣专题栏】面试题 01.02. 判定是否互为字符重排,如何利用数组模拟哈希表解决两字符串互排问题?

在这里插入图片描述

题解目录

  • 1、题目描述+解释
    • 2、算法原理解析
      • 3、代码编写
        • (1)、两个数组分别模拟哈希表解决
        • (2)、利用一个数组模拟哈希表解决问题

1、题目描述+解释

在这里插入图片描述

2、算法原理解析

这里是引用

3、代码编写

(1)、两个数组分别模拟哈希表解决
class Solution {
public:bool CheckPermutation(string s1, string s2) {if(s1.size()!=s2.size()){return false;}//创建数组int hash_s1[26]={0};int hash_s2[26]={0};//遍历第一个字符串for(auto e1:s1){hash_s1[e1-'a']++;}//遍历第二个字符串for(auto e2:s2){hash_s2[e2-'a']++;}//判断两个哈希里面值是否相等int i=0;for(i=0;i<26;i++){if(hash_s1[i]!=hash_s2[i]){return false;}}return true;}
};
(2)、利用一个数组模拟哈希表解决问题
class Solution {
public:bool CheckPermutation(string s1, string s2) {//判断个数if(s1.size()!=s2.size()){return false;}//创建数组模拟哈希表int hash[26]={0};//遍历第一个字符串for(auto e : s1){hash[e-'a']++;}//遍历第二个字符串for(auto e : s2){hash[e-'a']--;if(hash[e-'a'] < 0){return false;}}return true;}
};

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测长机在测量长度尺寸方面有哪些优势?如何保证测量的准确性?

测长机在测量长度尺寸方面具有以下优势&#xff1a; 一、高精度 1.分辨力高&#xff1a; 测长机通常具有很高的分辨力&#xff0c;能够精确测量到非常小的长度变化。例如&#xff0c;一些高精度测长机的分辨力可以达到微米甚至纳米级别&#xff0c;能够满足对精密工件和高精度…

人脑与机器连接:神经科技的伦理边界探讨

内容概要 在当今科技飞速发展的时代&#xff0c;人脑与机器连接已成为一个引人注目的前沿领域。在这一背景下&#xff0c;神经科技的探索为我们打开了一个全新的世界&#xff0c;从脑机接口到人工智能的飞跃应用&#xff0c;不仅加速了技术的进步&#xff0c;更触动了我们内心…

kd树的原理简述

1️⃣定义&#xff1a;给定一个二叉树与点集 P { x 1 , x 2 , . . . , x N } ⊆ R 2 P\{x_1,x_2,...,x_N\}\subseteq{}\mathbb{R}^2 P{x1​,x2​,...,xN​}⊆R2 对应关系&#xff1a; { 叶结点 i ↔ 一一对应 点 x i 中间结点 u ↔ 一多对应 以 u 为根子树的叶结点 ( P u ) ↔…

liunx CentOs7安装MQTT服务器(mosquitto)

查找 mosquitto 软件包 yum list all | grep mosquitto出现以上两个即可进行安装&#xff0c;如果没有出现则需要安装EPEL软件库。 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm查看 mosquitto 信息 yum info mosquitto安装 mosquitt…

Qt Designer客户端安装和插件集(pyqt5和pyside2)

GitHub - PyQt5/QtDesignerPlugins: Qt Designer PluginsQt Designer Plugins. Contribute to PyQt5/QtDesignerPlugins development by creating an account on GitHub.https://github.com/PyQt5/QtDesignerPlugins 一、下载客户端 https://github.com/PyQt5/QtDesigner/rel…

操作系统进程的描述与控制习题

1.什么是前趋图?为什么要引入前趋图? 前趋图(Precedence Graph)是一个有向无循环图&#xff0c;记为DAG(DirectedAcyclic Graph) 用于描述进程之间执行的前后关系 2.画出下面四条语句的前趋图 S1 a: x y; S2 b: z 1; S3 c: a - b; S4 w: c 1;3.什么程序并发执行…

第三十一章 Vue之路由(VueRouter)

目录 一、引言 1.1. 路由介绍 二、VueRouter 三、VueRouter的使用 3.1. 使用步骤&#xff08;52&#xff09; 3.2. 完整代码 3.2.1. main.js 3.2.2. App.vue 3.2.3. Friend.vue 3.2.4. My.vue 3.2.5. Find.vue 一、引言 1.1. 路由介绍 Vue中路由就是路径和组件的映…

精准选型跨境客服,网页服务更高效

跨境网页客服系统选型需考虑语言、功能、友好性及合规性。ZohoSalesIQ凭多语言支持、友好界面、移动兼容及数据保障成为优选&#xff0c;助力企业提升客户体验、高效沟通并满足数据安全需求。 一、跨境网页客服系统的重要性 1、提升客户体验 在跨境电商中&#xff0c;客户体验…

Pinia-状态管理

Pinia-状态管理 特点&#xff1a; 1. 轻量和模块化 Pinia 是一个轻量级的状态管理库&#xff0c;支持模块化管理&#xff0c;即可以将应用的状态分成多个 store 以实现更好的组织。使用 Pinia&#xff0c;可以定义多个 store&#xff0c;每个 store 都是一个独立的模块&#x…

【C++】对左值引用右值引用的深入理解(右值引用与移动语义)

&#x1f308; 个人主页&#xff1a;谁在夜里看海. &#x1f525; 个人专栏&#xff1a;《C系列》《Linux系列》 ⛰️ 天高地阔&#xff0c;欲往观之。 ​ 目录 前言&#xff1a;对引用的底层理解 一、左值与右值 提问&#xff1a;左值在左&#xff0c;右值在右&#xff1f;…

go 聊天系统项目-1

1、登录界面 说明&#xff1a;这一节的内容采用 go mod 管理【GO111MODULE‘’】模块&#xff0c;从第二节开始使用【GO111MODULE‘off’】GOPATH 管理模块。具体参见 go 包相关知识 1.1登录界面代码目录结构 代码所在目录/Users/zld/Go-project/day8/chatroom/ 1.2登录界…

Balluff EDI 项目需求分析

电子数据交换&#xff08;EDI&#xff0c;Electronic Data Interchange&#xff09;是一种通过电子方式在不同组织之间交换商业文档的技术和标准。它涉及使用标准格式的电子文档&#xff0c;如订单、发票、运输单据等&#xff0c;以实现自动化的数据传输。这种技术通常依赖于专…

如何在 Ubuntu 上安装和配置 GitLab

简介 GitLab是一个开源应用程序&#xff0c;主要用于托管 Git 仓库&#xff0c;并提供与开发相关的附加功能&#xff08;如问题跟踪&#xff09;。GitLab 可由用户自己的基础架构托管&#xff0c;可灵活部署为开发团队的内部存储库、与用户对接的公共方式或供稿者托管自己项目…

c语言-常量和变量

文章目录 一、常量是什么&#xff1f;&#xff08;1&#xff09;整型常量&#xff1a;&#xff08;2&#xff09;实型常量&#xff1a;&#xff08;3&#xff09;字符常量&#xff1a;&#xff08;4&#xff09;字符串常量&#xff08;5&#xff09;地址常量 二、define 和 con…

【Linux】进程间通信(匿/命名管道、共享内存、消息队列、信号量)

文章目录 1. 进程通信的目的2. 管道2.1 原理2.2 匿名管道2.3 管道通信场景&#xff1a;进程池2.4 命名管道 3. System V共享内存3.1 操作共享内存3.2 使用共享内存通信 4. System V 消息队列&#xff08;了解&#xff09;5. System V 信号量&#xff08;了解&#xff09;5.1 信…

VirtualBox 解决虚拟机Cable Unplugged 无法上网问题

问题描述 VirtualBox 中的虚拟机无法上网&#xff0c;在虚拟机中查看网络设置显示 Cable Unplugged。 解决方案 选择VirtualBox 上方任务栏的控制->设置->网络&#xff0c;勾选接入网线即可解决。

大学适合学C语言还是Python?

在大学学习编程时&#xff0c;选择C语言还是Python&#xff0c;这主要取决于你的学习目标、专业需求以及个人兴趣。以下是对两种语言的详细比较&#xff0c;帮助你做出更明智的选择&#xff1a; C语言 优点&#xff1a; 底层编程&#xff1a;C语言是一种底层编程语言&#x…

【深入浅出】深入浅出Bert(附面试题)

本文的目的是为了帮助大家面试Bert&#xff0c;会结合我的面试经历以及看法去讲解Bert&#xff0c;并非完整的技术细致讲解&#xff0c;介意请移步。 深入浅出】深入浅出Bert&#xff08;附面试题&#xff09; 网络结构Pre-TrainingFine-Tuning 输入编码词向量编码句子编码位置…

thrift rpc 四种类型的服务端的实现详细介绍

thrift rpc 四种类型的服务端的实现详细介绍 这里主要是使用 thrift 开发的时候服务器端的实现&#xff0c;以及 thrift 提供给我们多钟的服务的实现&#xff0c;以及每个实现的服务器的特点和 API 介绍&#xff0c;TServer 主要包含以下几种实现 TSimpleServer 阻塞的但线程…

Python | Leetcode Python题解之第530题二叉搜索树的最小绝对差

题目&#xff1a; 题解&#xff1a; # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val x # self.left None # self.right Noneclass Solution(object):def isValidBST(self, root):"…