Python算法练习 9.18

leetcode 1657 确定两个字符串是否相似

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

  • 操作 1:交换任意两个 现有 字符。
    • 例如,ab cde -> ae cdb
  • 操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符,并对另一个字符执行相同的操作。
    • 例如,aa cabb->bb cbaa(所有 a 转化为 b ,而所有的 b 转换为 a )

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

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

复制代码
输入:word1 = "abc", word2 = "bca"
输出:true
解释:2 次操作从 word1 获得 word2 。
执行操作 1:"abc" -> "acb"
执行操作 1:"acb" -> "bca"

问题转换:也就是说,这两个字符串的字母种类是相同的,并且字母出现所有频率是相同的(每一个字母对应的频率可以不同,但是频率序列一定相同)

python 复制代码
class Solution(object):
    def closeStrings(self, word1, word2):
        """
        :type word1: str
        :type word2: str
        :rtype: bool
        """
        return Counter(word1).keys() == Counter(word2).keys() and sorted(Counter(word1).values()) == sorted(Counter(word2).values())

自己的编译器试了没问题,但是不知道为什么还会出错

相关推荐
kobe_OKOK_9 小时前
__getattr__和__getattribute__如何用
python
全栈弄潮儿10 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
长沙三为智能科技10 小时前
家政小程序门店运营模块设计:会员、下单、派单、结算四段链路的落地拆解
python·小程序·内容运营
Cc.Y10 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
启观川10 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
码爸10 小时前
排序算法介绍
python·算法·排序算法
笔墨登场说说10 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
MoRanzhi120311 小时前
第 3 篇 · 数据清洗与特征工程:从问题判定到特征构建
python·pandas·数据清洗·特征工程·缺失值处理·异常值检测·特征编码
动词ing11 小时前
【题目练习】算法 组合总和||
算法
longlongzihan11 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表