【问题标题】:The simplest solution for strings duplicate字符串重复的最简单解决方案
【发布时间】:2013-09-06 02:28:43
【问题描述】:

查找重复字符的最简单算法是什么?

string a = "school";
string b = "ofrock";

输出应该是o,c(不是ooc)。你能找到 O(n) 线性复杂度吗?我不能

string a = "School";
string b = "ofRock";
string c = a + b;
char[] cc = c.ToCharArray();

Dictionary<char, int> d = new Dictionary<char, int>();
Dictionary<char, int> l = new Dictionary<char, int>();

foreach (char ccc in cc)
{
    try
    {
        d.Add(ccc, 1);
    }
    catch
    {
        try
        {
            l.Add(ccc, 1);
        }
        catch
        {
        }
    }
}

【问题讨论】:

  • “查找重复的字符串”是什么意思?
  • 如果我理解你想要做什么,你的代码会给你你所期望的。你有什么问题?
  • 我认为您正在寻找在字符串中多次出现且没有重复的字符列表。你能澄清一下吗?
  • @DavidRobinson:编辑重复字符

标签: c# string duplicates complexity-theory


【解决方案1】:

简单的方法,可以使用Intersect

var result = a.Intersect(b);

【讨论】:

  • 无需拨打Distinct
  • 我得到了结果 = null。不工作。我实际上在寻找一种比我的更简单的算法。 O(n) 复杂度
  • @JohnRyann:我已经在你的样本上进行了测试,它在我身边仍然有效
  • yup.typo 在我这边。有用。但我又在寻找一种算法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
  • 2010-11-17
相关资源
最近更新 更多