临沂网站建设公司 杨超,做网站排名工具,搜寻的网站有哪些,软件项目外包平台文章目录1. 题目2. 解题1. 题目
给你两个字符串 s 和 t 。在一步操作中#xff0c;你可以给 s 或者 t 追加 任一字符 。
返回使 s 和 t 互为 字母异位词 所需的最少步骤数。
字母异位词 指字母相同但是顺序不同#xff08;或者相同#xff09;的字符串。
示例 1#xf…
文章目录1. 题目2. 解题1. 题目
给你两个字符串 s 和 t 。在一步操作中你可以给 s 或者 t 追加 任一字符 。
返回使 s 和 t 互为 字母异位词 所需的最少步骤数。
字母异位词 指字母相同但是顺序不同或者相同的字符串。
示例 1
输入s leetcode, t coats
输出7
解释
- 执行 2 步操作将 as 追加到 s leetcode 中得到 s leetcodeas 。
- 执行 5 步操作将 leede 追加到 t coats 中得到 t coatsleede 。
leetcodeas 和 coatsleede 互为字母异位词。
总共用去 2 5 7 步。
可以证明无法用少于 7 步操作使这两个字符串互为字母异位词。示例 2
输入s night, t thing
输出0
解释给出的字符串已经互为字母异位词。因此不需要任何进一步操作。提示
1 s.length, t.length 2 * 10^5
s 和 t 由小写英文字符组成来源力扣LeetCode 链接https://leetcode-cn.com/problems/minimum-number-of-steps-to-make-two-strings-anagram-ii 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
计数对比谁比较多另一个需要补上
from collections import Counter
class Solution:def minSteps(self, s: str, t: str) - int:d1 dict(Counter(s))d2 dict(Counter(t))ans 0alpha [chr(x) for x in range(ord(a), ord(z)1)]for char in alpha:if char not in d2 and char in d1:ans d1[char]elif char not in d1 and char in d2:ans d2[char]elif char in d1 and char in d2:ans abs(d1[char] - d2[char])return ans216 ms 16.5 MB Python3
class Solution {
public:int minSteps(string s, string t) {int ct1[26] {0}, ct2[26] {0};for(auto c : s)ct1[c-a];for(auto c : t)ct2[c-a];int ans 0;for(int i 0; i 26; i)ans abs(ct1[i] - ct2[i]);return ans;}
};76 ms 28.4 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步