我是算法的新手,我需要实现一个快速搜索,使这个。例如我有这个序列快速算法查找和元素字符串
seq ="1111111145555666672222222222222222221111";
和我有元素搜索=“1”;
我需要一个算法(尽可能快)给我或元素(“1”)的数量在seq中存在或元素的数量不同于“1”的顺序。
我是算法的新手,我需要实现一个快速搜索,使这个。例如我有这个序列快速算法查找和元素字符串
seq ="1111111145555666672222222222222222221111";
和我有元素搜索=“1”;
我需要一个算法(尽可能快)给我或元素(“1”)的数量在seq中存在或元素的数量不同于“1”的顺序。
从您提供的示例字符串看,它看起来像字符串本质上未排序。在这种情况下,计算字符数的唯一方法是使字符串完整传递。
一个快速和肮脏的方式做到这将是与Count
扩展方法:
int count=seq.Count(c => c=='1');
使用正则表达式,你可以迅速找到所有比赛和他们的索引。
string pattern = "1";
string input = "1111111145555666672222222222222222221111";
foreach (Match m in Regex.Matches(input, pattern))
Console.WriteLine("'{0}' found at index {1}.",
m.Value, m.Index);
问题并不十分清楚,但如果要计算字符串中有多少“1”,只需循环字符串即可。
int count = 0;
foreach(char c in inputstring)
{
if(c.Equals('1'))
{
count++;
}
}
Debug.WriteLine(string.Format("Count: {0}", count));
你只是希望我们提供的代码? – rene
看起来像功课。你有什么尝试?向我们展示一些您的代码。 – Dariusz
算法是否必须在互联网上或仅在字符串中查找所有“1”? –