题目描述

给你两个长度相等的字符串 s 和 t。每一个步骤中,你可以选择将 t 中的 任一字符 替换为 另一个字符。

返回使 t 成为 s 的字母异位词的最小步骤数。

字母异位词 指字母相同,但排列不同(也可能相同)的字符串。

示例 1:

输出:s = "bab", t = "aba"
输出:1
提示:用 'b' 替换 t 中的第一个 'a',t = "bba" 是 s 的一个字母异位词。

示例 2:

输出:s = "leetcode", t = "practice"
输出:5
提示:用合适的字符替换 t 中的 'p', 'r', 'a', 'i' 和 'c',使 t 变成 s 的字母异位词。

示例 3:

输出:s = "anagram", t = "mangaar"
输出:0
提示:"anagram" 和 "mangaar" 本身就是一组字母异位词。

示例 4:

输出:s = "xxyyzz", t = "xxyyzz"
输出:0

示例 5:

输出:s = "friend", t = "family"
输出:4

提示:

  • 1 <= s.length <= 50000
  • s.length == t.length
  • s 和 t 只包含小写英文字母

解答 By 海轰

提交代码

int minSteps(string s, string t) {int a[26]={0};int b[26]={0};for(int i=0;i<s.length();++i){++a[s[i]-'a'];++b[t[i]-'a'];}int res=0;for(int i=0;i<26;++i){if(a[i]!=0&&(a[i]>b[i])){res+=a[i]-b[i];}}return res;}

运行结果

解答

Demo

 int minSteps(string s, string t) {int s_cnt[26] = {0};for (char c : s)++s_cnt[c - 'a'];int ans = 0;for (char c : t)if (s_cnt[c - 'a'] == 0)++ans;else--s_cnt[c - 'a'];return ans;}

运行结果

题目来源

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-number-of-steps-to-make-two-strings-anagram

LeetCode刷题(107)~制造字母异位词的最小步骤数【巧妙】相关推荐

  1. LeetCode 1347. 制造字母异位词的最小步骤数

    1. 题目 给你两个长度相等的字符串 s 和 t.每一个步骤中,你可以选择将 t 中的 任一字符 替换为 另一个字符. 返回使 t 成为 s 的字母异位词的最小步骤数. 字母异位词 指字母相同,但排列 ...

  2. LeetCode 2186. 使两字符串互为字母异位词的最少步骤数

    文章目录 1. 题目 2. 解题 1. 题目 给你两个字符串 s 和 t .在一步操作中,你可以给 s 或者 t 追加 任一字符 . 返回使 s 和 t 互为 字母异位词 所需的最少步骤数. 字母异位 ...

  3. 力扣 6009. 使两字符串互为字母异位词的最少步骤数

    题目 给你两个字符串 s 和 t .在一步操作中,你可以给 s 或者 t 追加 任一字符 . 返回使 s 和 t 互为 字母异位词 所需的最少步骤数. 字母异位词 指字母相同但是顺序不同(或者相同)的 ...

  4. LeetCode 6009. 使两字符串互为字母异位词的最少步骤数

    题目链接: 力扣https://leetcode-cn.com/contest/weekly-contest-282/problems/minimum-number-of-steps-to-make- ...

  5. leetcode系列-242.有效的字母异位词

    leetcode系列–第242题.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t ...

  6. 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)

    目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...

  7. 模拟卷Leetcode【普通】049. 字母异位词分组

    049. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起.可以按任意顺序返回结果列表. 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次. 示 ...

  8. LeetCode Algorithm 242. 有效的字母异位词

    242. 有效的字母异位词 Ideas 对于Python来说,直接创建两个计数器,然后判断计数器是否相等就OK了. 对于C++来说,对两个字符串进行排序,然后逐位对比. Code C++ 原来std的 ...

  9. 20190820:(leetcode习题)有效的字母异位词

    有效的字母异位词 题目 大致思路 代码实现 题目 大致思路 本题的思路跟昨天的寻找唯一字符的类似.先创建存放区,也就是给a-z26个字母建立一个频率数组,然后遍历存放频率,最后依次比较存放的频率值是否 ...

最新文章

  1. 【TCP/IP】一张图带你读懂TCP/IP协议
  2. WebBrowser组件和MSHTML
  3. 机器学习视觉图像算法工程师--面试笔试--常考知识点乱找总结
  4. Python入门100题 | 第053题
  5. 程序员必知必会之Email篇
  6. cocoapod卡在了analyzing dependencies
  7. (二)Linux下的crontab定时执行任务命令详解
  8. linux stm32 ide,一文教你如何在ubuntu上快速搭建STM32 CubeIDE环境(图文超详细+文末有附件)...
  9. Java EE 7社区调查结果!
  10. oracle db2备份数据库,datagurad 使用备库的备份恢复主库的数据文件
  11. AtomicReference
  12. JAVA WBE入门之HTML的使用(超详细,必看)附实例和代码
  13. 中南民族大学计算机科学学院2011级2014年至2015年度课表,中南民族大学应用心理学专业2012-2013-2学期辅修-双学位课表(2010、2011级)...
  14. Excel 公式学习笔记:数组用法
  15. 低通滤波与RC振荡产生正弦波
  16. String源码 spilt
  17. Chrome的插件安装与使用
  18. visual studio 2010 没有代码提示(智能提示)或代码提示很慢解决方案一例
  19. 3d Max 一些操作技巧
  20. 如何使用Boxer在Mac上轻松玩经典DOS游戏

热门文章

  1. 基于matlab的摄影测量后方交会元素解算
  2. 用JAVA编写一个Book类_Java编程:创建一个Book类包含两个String类型私有属性name(书名)和publish(...
  3. CTR 预测理论(八):Embedding 质量评估方法总结
  4. Leetcode题874、模拟行走机器人(Python题解)
  5. 微信公众平台java开发
  6. 2014华为编程大赛题目2:笨笨熊搬家打包篇
  7. 喝酒解释程序员专业术语,笑死我了!
  8. 计算机毕业设计Java-ssmMVC的时鲜蔬菜配送系统源码+系统+数据库+lw文档
  9. NBCCAV: 激光焊接机,陶瓷保鲜碗,焊接机
  10. 一寸照片 358 *441 小于20KB