当前位置: 首页 > article >正文

leetcode:1897. 重新分配字符使所有字符串都相等(python3解法)

难度:简单

        给你一个字符串数组 words(下标 从 0 开始 计数)。

        在一步操作中,需先选出两个 不同 下标 i 和 j,其中 words[i] 是一个非空字符串,接着将 words[i] 中的 任一 字符移动到 words[j] 中的 任一 位置上。

        如果执行任意步操作可以使 words 中的每个字符串都相等,返回 true ;否则,返回 false 。

示例 1:

输入:words = ["abc","aabc","bc"]
输出:true
解释:将 words[1] 中的第一个 'a' 移动到 words[2] 的最前面。使 words[1] = "abc" 且 words[2] = "abc" 。所有字符串都等于 "abc" ,所以返回 true。

示例 2:

输入:words = ["ab","a"]
输出:false
解释:执行操作无法使所有字符串都相等。

提示:

  • 1 <= words.length <= 100
  • 1 <= words[i].length <= 100
  • words[i] 由小写英文字母组成

题解:

class Solution:
    def makeEqual(self, words: List[str]) -> bool:
        res = []
        res_dict = {}
        s_words = ''.join(words)
        for i in words:
            for j in i:
                if j not in res:
                    res.append(j)
        for s in res:
            res_dict[s] = s_words.count(s)
        values = len(words)
        for m in res_dict.values():
            if m % values !=0:
                return False
        return True


http://www.kler.cn/a/536317.html

相关文章:

  • 【STM32系列】利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程)
  • 老游戏回顾:G2
  • 基础相对薄弱怎么考研
  • 使用多模态大语言模型进行深度学习的图像、文本和语音数据增强
  • 动手学图神经网络(11):使用MovieLens数据集进行链路预测的实践
  • DeepSeek-r1模型本地化部署最新教程
  • 开发板适配之UART
  • mybatisPlus介绍
  • Java 21 虚拟线程详解
  • 【C#】一维、二维、三维数组的使用
  • 测试中的第一性原理:回归本质的质量思维革命
  • 数据结构之顺序表和链表
  • s1:简单测试-时间规模化
  • Kotlin 使用虚拟线程并在低版本中自动切换到协程
  • zabbix v7.2.3容器运行Proxy代理服务器启用IPV6访问
  • 代码随想录算法【Day38】
  • SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)
  • 第4节课:控制结构 - 条件语句、循环语句
  • 本地私有化部署 DeepSeek Dify ,告别“服务器繁忙,请稍后再试”
  • 小米官博宣布:首款AI眼镜即将发布
  • Java实现网络安全编程数字信封 网络安全 java
  • 深入解析:如何利用 Python 爬虫获取商品 SKU 详细信息
  • 深入理解 YUV Planar 和色度二次采样 —— 视频处理的核心技术
  • 第30节课:前端架构与设计模式—构建高效可维护的Web应用
  • 《金字塔原理》笔记
  • 【JS】element-ui 中 table的select事件