【LeetCode:1657. 确定两个字符串是否接近 | 计数 + 阅读理解】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 计数 + 阅读理解
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 1657. 确定两个字符串是否接近

⛲ 题目描述

如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 :

操作 1:交换任意两个 现有 字符。
例如,abcde -> aecdb
操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符,并对另一个字符执行相同的操作。
例如,aacabb -> bbcbaa(所有 a 转化为 b ,而所有的 b 转换为 a )
你可以根据需要对任意一个字符串多次使用这两种操作。

给你两个字符串,word1 和 word2 。如果 word1 和 word2 接近 ,就返回 true ;否则,返回 false 。

示例 1:

输入:word1 = “abc”, word2 = “bca”
输出:true
解释:2 次操作从 word1 获得 word2 。
执行操作 1:“abc” -> “acb”
执行操作 1:“acb” -> “bca”
示例 2:

输入:word1 = “a”, word2 = “aa”
输出:false
解释:不管执行多少次操作,都无法从 word1 得到 word2 ,反之亦然。
示例 3:

输入:word1 = “cabbba”, word2 = “abbccc”
输出:true
解释:3 次操作从 word1 获得 word2 。
执行操作 1:“cabbba” -> “caabbb”
执行操作 2:“caabbb” -> “baaccc”
执行操作 2:“baaccc” -> “abbccc”
示例 4:

输入:word1 = “cabbba”, word2 = “aabbss”
输出:false
解释:不管执行多少次操作,都无法从 word1 得到 word2 ,反之亦然。

提示:

1 <= word1.length, word2.length <= 105
word1 和 word2 仅包含小写英文字母

🌟 求解思路&实现代码&运行结果


⚡ 计数 + 阅读理解

🥦 求解思路
  1. 通过理解题目的意思,题目有俩个不同的操作,但是无论是操作1,还是操作2,最后想让字符串1变换为字符串2,那么字符串1和字符串2中出现的字符都是相同的,同时,次数也都是相同的【注意:不一定是每个字符出现的次数相同,排序后判断俩个词频表是否相等即可】。
  2. 有了上面的求解思路,接下来通过具体的代码来实现。
  3. 实现代码如下所示:
🥦 实现代码
class Solution {public boolean closeStrings(String word1, String word2) {int n=word1.length(),m=word2.length();if(n!=m) return false;int[] cnt1=new int[26];int[] cnt2=new int[26];for(int i=0;i<n;i++){cnt1[word1.charAt(i)-'a']++;cnt2[word2.charAt(i)-'a']++;}// 出现的字母必须都一样for(int i=0;i<26;i++){if((cnt1[i]==0)!=(cnt2[i]==0)) return false;}Arrays.sort(cnt1);Arrays.sort(cnt2);return Arrays.equals(cnt1,cnt2);}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

jenkins-cicd基础操作

1.先决条件 1.首先我个人势在k8s集群中创建的jenkins,部署方法搭建 k8s部署jenkins-CSDN博客 2.安装指定插件. 1.Gitlab plugin 用于调用gitlab-api的插件 2.Kubernetes plugin jenkins与k8s进行交互的插件,可以用来自动化的构建和部署 3.Build Authorizatio…

HTTP ERROR 403 No valid crumb was included in the request

1、报错截图&#xff1a; 2、产生原因&#xff1a; 开启了csrf&#xff0c;即跨站请求伪造 3、新版本不支持页面修改&#xff0c;故需要修改jenkins配置文件 3.1 进入编辑配置文件 vim /etc/sysconfig/jenkins 3.2 修改JENKINS_JAVA_OPTIONS&#xff0c;并保存修改 JENKI…

kNN-NER: Named Entity Recognition with Nearest Neighbor Search

原文链接&#xff1a;https://arxiv.org/pdf/2203.17103.pdf 预发表论文 介绍 受到增强式检索方法的启发&#xff0c;作者提出了kNN-NER&#xff0c;通过检索训练集中k个邻居的标签分布来提高模型命名实体识别分类的准确性。该框架能够通过充分利用训练信息来解决样本类别不平衡…

Android进阶之路 - TextView文本渐变

那天做需求的时候&#xff0c;遇到一个小功能&#xff0c;建立在前人栽树&#xff0c;后人乘凉的情况下&#xff0c;仅用片刻就写完了&#xff1b;说来惭愧&#xff0c;我以前并未写过文本渐变的需求&#xff0c;脑中也仅有一个shape渐变带来的大概思路&#xff0c;回头来看想着…

低价商品采购API接口

采购商品地址http://sly.yizhaosulianyun.com/More/Push/888889?type3 低价商品采购API接口 1) 请求地址 http://sly.yizhaosulianyun.com/jd/keyWords 2) 调用方式&#xff1a;HTTP post 3) 接口描述&#xff1a; 低价商品采购接口 4) 请求参数: POST参数: 字段名称字段…

Java高级技术(反射:获取类的成员变量)

一&#xff0c;获取类的成员变量的常用方法 二&#xff0c;案例 三&#xff0c;赋值&#xff0c;取值的常用方法 四&#xff0c; 案例 五&#xff0c;获取类的成员方法的常用方法 六&#xff0c;案例 七&#xff0c;执行 八&#xff0c;案例

Verilog 入门(三)(表达式)

文章目录 操作数操作符算术操作符关系操作符相等关系操作符逻辑操作符按位操作符条件操作符 操作数 操作数可以是以下类型中的一种&#xff1a; 常数参数线网寄存器位选择部分选择存储器单元函数调用 操作符 Verilog HDL中的操作符可以分为下述类型&#xff1a; 算术操作符…

new Date()国际化时间参数处理的存在偏差问题

[TOC](new Date()国际化时间参数处理的存在偏差问题) 实际存在场景&#xff1a;各国使用new Date进行处理时间到各国时区时处理后的日期与实际当地日期不符合&#xff0c;会存在以下场景如图&#xff1a; 统计日期和表头计算的日期不符合 点击某一天跳转到详情时间参数不正确 …

如何有效避免七个常见的身份验证漏洞

引言 随着网络威胁的数量不断增加&#xff0c;了解学习可能会危及到客户在线身份的常见身份验证漏洞就显得格外重要。如果需要在网上满足客户的需求&#xff0c;并使用传统的身份验证机制时&#xff0c;就要对身份验证漏洞保持警惕。 只有了解了这些漏洞&#xff0c;才可以更…

二、shell编程快速入门

目录 1、入门示例 2、解释器 3、shell脚本执行方式 3.1 方式一&#xff1a;sh执行脚本 3.2 方式二&#xff1a;工作目录执行 3.3 方式三&#xff1a;绝对路径执行 ​​​​​​​4、shell的数据类型 4.1 字符串 4.2 整数型 1、入门示例 以下所有操作都在/export/shel…

SSM框架详解:结构创建与注解应用

文章目录 1. 引言2. SSM框架项目结构创建2.1 目录结构2.2 说明 3. 注解的应用3.1 Controller3.2 Service3.3 Repository3.4 Autowired3.5 RequestMapping3.6 Select、Insert等 4. 结语 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢…

SS8847T 双通道 H 桥驱动芯片 替代DRV8847

SS8847E是一款双桥电机驱动器&#xff0c;具有两个H桥驱动器&#xff0c;可以驱动两个直流有刷电机&#xff0c;一个双极步进电机&#xff0c;螺线管或其他感性负载。该器件的工作电压范围为 2.7V 至 15V&#xff0c;每通道可提供高达 1.0A 的负载电流。每个H桥的输出驱动器模块…