gpt4 book ai didi

c# - 如何检查是否可以在 C# 中使用另一个字符串的字符获取一个字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:27 24 4
gpt4 key购买 nike

我正在设计一个问题,在这个问题中,我想找出一个给定字符串可以从另一个基本字符串中找到(形成)多少次,其中一个字符只使用一次。

假设我有

string str = "COMPUTER";

string basestr = "**TER** WITH **R** LABEL **COMPUTER** BELONGS TO **COMPUT** QUICK CUTE **COM** FOX JUM **P** S **U** R **T** H **E** LAZY DOG";

所以希望我的程序为这个 sting basestr 返回 3。这里一台 COMPUTER 显然可用,另一台是两个单词,最后一个是单词和字符。

请帮我编程?我怎样才能做到这一点 ?谢谢

最佳答案

首先,构造短字符串的字符数。然后构造长字符串的字符数。对于短字符串的每个字符计数,将长字符串的计数除以短字符串的计数,只保留整数部分。选择最小的整数 - 它就是您问题的答案。

int[] Count(string s) {
int[] res = new int[256];
foreach (var c in s) {
res[c]++;
}
return res;
}
int ShortInLong(string ss, string ls) {
var sc = Count(ss);
var lc = Count(ls);
int res = int.MaxValue;
foreach (var c in ss) {
int d = lc[c] / sc[c]; // sc[c] is never 0 because of the way we constructed it
res = Math.Min(res, d);
}
return res;
}

关于c# - 如何检查是否可以在 C# 中使用另一个字符串的字符获取一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8958234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com