珠海做网站报价,上海app开发平台,桂林市网站建设,怎样将整个网站文章目录1. 题目2. 解题1. 题目
给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排#xff0c;得到若干新的字符串。
从 s 中取出字符并重新排列#xff0c;返回可以形成 target 的 最大 副本数。
示例 1#xff1a;
输入#xff1a;s 得到若干新的字符串。
从 s 中取出字符并重新排列返回可以形成 target 的 最大 副本数。
示例 1
输入s ilovecodingonleetcode, target code
输出2
解释
对于 code 的第 1 个副本选取下标为 4 、5 、6 和 7 的字符。
对于 code 的第 2 个副本选取下标为 17 、18 、19 和 20 的字符。
形成的字符串分别是 ecod 和 code 都可以重排为 code 。
可以形成最多 2 个 code 的副本所以返回 2 。示例 2
输入s abcba, target abc
输出1
解释
选取下标为 0 、1 和 2 的字符可以形成 abc 的 1 个副本。
可以形成最多 1 个 abc 的副本所以返回 1 。
注意尽管下标 3 和 4 分别有额外的 a 和 b 但不能重用下标 2 处的 c 所以无法形成 abc 的第 2 个副本。示例 3
输入s abbaccaddaeea, target aaaaa
输出1
解释
选取下标为 0 、3 、6 、9 和 12 的字符可以形成 aaaaa 的 1 个副本。
可以形成最多 1 个 aaaaa 的副本所以返回 1 。提示
1 s.length 100
1 target.length 10
s 和 target 由小写英文字母组成来源力扣LeetCode 链接https://leetcode.cn/problems/rearrange-characters-to-make-target-string 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
计数target 每种字符在 s 中能得到的副本数量的最小值
from collections import Counter
class Solution:def rearrangeCharacters(self, s: str, target: str) - int:ct1 dict(Counter(s))ct2 dict(Counter(target))ans 100000for k,v in ct2.items():if k not in ct1:return 0ans min(ans, ct1[k]//v)return ans40 ms 14.9 MB Python3 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步