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())
相关推荐
sali-tec7 分钟前
C# 基于OpenCv的视觉工作流-章24-SURF特征点
图像处理·人工智能·opencv·算法·计算机视觉
edisao13 分钟前
第三章 合规的自愿
jvm·数据仓库·python·神经网络·决策树·编辑器·动态规划
hillstream314 分钟前
从这次xAI重组说开去--用类比的思维来理解
人工智能·算法·xai·elon.mask
菜鸡儿齐16 分钟前
leetcode-最长连续序列
数据结构·算法·leetcode
寻寻觅觅☆17 分钟前
东华OJ-基础题-120-顺序的分数(C++)
开发语言·c++·算法
Tisfy21 分钟前
LeetCode 3713.最长的平衡子串 I:计数(模拟)
算法·leetcode·题解·模拟
月疯21 分钟前
陀螺仪和加速度计(模拟状态,计算运动状态)
算法
cuber膜拜23 分钟前
Tenacity 原理与基本使用
服务器·网络·python·装饰器模式·tenacity
Myosotis51324 分钟前
作业 第三次
开发语言·python
cuber膜拜25 分钟前
PyBreaker 原理与基本使用
服务器·网络·python·pybreaker