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

简介: 1657.确定两个字符串是否接近

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

  • 操作 1:交换任意两个 现有 字符。
  • 例如,abcde -> aecdb
  • 操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符,并对另一个字符执行相同的操作。
  • 例如,aacabb -> bbcbaa(所有 a 转化为 b ,而所有的 b 转换为 a )

你可以根据需要对任意一个字符串多次使用这两种操作。

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

解题思路:两个字符串接近的充分必要条件为:

1.两个字符串出现的字符集S1和S2相等,即S1=S2.

2.分别将两个字符串的字符出现次数数组f1 和 f2 进行排序后,两个数组从小到大——相等。

class Solution{
    public boolean closeStrings(String word1,String word2){
        int[] count1=new int[26],count2=new int[26];
        for(char c:word1.toCharArray()){
            count1[c-'a']++;        
        }    
        for(char c:word2.toCharArray()){
            count2[c-'a']++;        
        }
        for(int i=0;i<26;i++){
            if(count1[i]>0 && count2[i]==0 || count1[i]==0 && count2[i]>0){
                return false;            
            }        
        }
        Arrays.sort(count1);
        Arrays.sort(count2);
        return Arrays.equals(count1,count2);
    }
}


相关文章
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源项目未来展望:技术趋势与社区发展方向
随着云计算的飞速发展,作为核心组件的分布式数据库作用愈发关键。阿里云的PolarDB,一款云原生分布式数据库,自开源后备受瞩目。未来,PolarDB将深化云原生特性,强化容器化支持;发展HTAP能力,融合事务处理与实时分析;运用AI技术实现智能运维。同时,加强全球开源社区合作,拓展多行业应用场景,并构建全面的开发者生态系统,旨在成为领先的云原生数据库解决方案。
214 4
|
6月前
|
程序员
HarmonyOS NEXT 实战系列05-案例回关粉丝
本文介绍了一个基于HarmonyOS的组件化设计案例,通过提取 `FansItemComp` 组件实现复用,使用 `@Prop` 动态接收数据渲染UI。示例中包含关注与互关功能:父组件 `TestPage` 提供粉丝列表数据,封装 `getFansAndFollowCount` 方法统计互关人数;子组件通过按钮交互更新关注状态,并利用 `onChange` 回调通知父组件同步数据变化。代码结构清晰,展示了组件间通信及动态渲染的实现方式。
|
前端开发 JavaScript 搜索推荐
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
939 0
|
JavaScript Java API
基于代理和单例模式的 electron 多窗口管理方案
基于代理和单例模式的 electron 多窗口管理方案
916 0
|
小程序 JavaScript Java
毕业设计:微信小程序健康管理系统的开发与实现(二)
毕业设计:微信小程序健康管理系统的开发与实现
412 0
2020蓝桥杯B组C++真题题解(一)
2020蓝桥杯B组C++真题题解
204 0
|
SQL 数据采集 运维
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(二)研发:集成、建模、发布、运维(4)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(二)研发:集成、建模、发布、运维(4)
589 0
|
机器学习/深度学习 API Python
使用Pandas的resample函数处理时间序列数据的技巧
使用Pandas的resample函数处理时间序列数据的技巧
524 0
使用Pandas的resample函数处理时间序列数据的技巧
|
关系型数据库 MySQL Linux
linux安装指定版本mysql教程-简易版
linux安装指定版本mysql教程-简易版
510 0
linux安装指定版本mysql教程-简易版
|
存储 缓存 算法
提高存储系统性能的技术
提高存储系统性能的技术
220 0