1347. 制造字母异位词的最小步骤数 (中等,Counter)

闲来无事,今天多做一题

  1. 条件很宽,可以任意替换,且排列相同也可以
  2. 所以只要统计每个字母在 s 中比在 t 中多出现的次数之和即可
python 复制代码
class Solution:
    def minSteps(self, s: str, t: str) -> int:
        n = [0] * 26
        for i in s:
            n[ord(i) - ord('a')] += 1
        
        for i in t:
            n[ord(i) - ord('a')] -= 1

        return sum([n[i] if n[i] > 0 else 0 for i in range(26)])

学习

  1. python 求字符的 ASCII码 需要使用内置函数 ord()
  2. python 有一个collections.Counter模块,它可以直接统计一个字符串中字符出现的次数,且它返回一个 dict() 的子类,形式上是字典,但是支持加减法操作,加法就是把同键的加起来,不同键的并到新的字典中;减法把同键的相减(且它会删去做减法后值小于等于0的键值对,本来就是计数的效果,小于等于0了自然没意义了),不同键的键值对则保留被减数的,去除减数的,因此本题可以写成如下形式
python 复制代码
class Solution:
    def minSteps(self, s: str, t: str) -> int:
        return sum((Counter(s) - Counter(t)).values())
相关推荐
aqi006 分钟前
15天学会AI应用开发(三)把历史对话作为提示词会怎样
人工智能·python·大模型·ai编程·ai应用
大数据魔法师6 分钟前
Streamlit(十八)- API 参考文档(十一)- 页面导航组件
python·web
weixin_4684668512 分钟前
数据高效处理实战:从痛点解决到价值落地
大数据·python·自动化·数据处理
莫等闲-27 分钟前
leetcode42. 接雨水 leetcode84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
unicrom_深圳市由你创科技27 分钟前
历史数据存储量太大,怎么处理?数据压缩/归档策略?
算法
浅念-28 分钟前
LeetCode 记忆化搜索 刷题总结
数据结构·算法·leetcode·职场和发展·深度优先·dfs
hui函数31 分钟前
Python系列Bug修复|如何解决 pip install 报错 ModuleNotFoundError: No module named ‘pygame’ 问题
python·bug·pip
xcLeigh32 分钟前
Python入门:Python3 operator模块全面学习教程
开发语言·python·学习·教程·python3·operator
xcLeigh32 分钟前
Python小游戏实战:实现2048游戏小游戏附源码
python·游戏·教程·pygame·2048·python3