string s =“abcdgegeagdccvivio”
写一个方法 找出只出现过两次(不包含3次以及三次以上的)字母智力题 
 
君子岛的人只会讲真话 说谎岛只会说说谎 有一天 两个岛上的人混居了  然后 你掉进了其中一个岛 你只能问一个人一个问题!! 他们也只会回到 是 或者 不是  ,你怎么能问出你在哪个岛?
ps  吐槽一下  我网上投的简历 和 我给他的实例简历都表明了我是未毕业的学生  直到最后 我要赶回来上课 和她说了 他才知道我是个学校  他们都不看简历的???????

解决方案 »

  1.   

    有意思 什么公司居然在网上找题目
    http://zhidao.baidu.com/question/27530979.html?an=0&si=4
      

  2.   

    string s = "abcdgegeagdccvivio";
    for (int i = 97; i <= 122; i++)
    {
    char c = (char)i;
    int counter = 0;
    foreach (char cc in s)
    {
    if (cc == c)
    counter++;
    }
    if (counter == 2)
    Response.Write(c);
    }
    输出:adeiv
      

  3.   

    优化一下:
    string s = "abcdgegeagdccvivio";
    for (int i = 97; i <= 122; i++)
    {
    char c = (char)i;
    int counter = 0;
    foreach (char cc in s)
    {
    if (cc == c)
    counter++;
    if (counter > 2)
    break;
    }
    if (counter == 2)
    Response.Write(c);
    }
      

  4.   

    一点技术含量都没有...
    s.GroupBy(c => c).Where(w => w.Count() == 2)
      

  5.   

    string s = "abcdgegeagdccvivio";public string f(string s){
                List<char> lc = new List<char>();
                int count = 0;
                List<char>Rl=new List<char>();
                foreach (char c in s)
                {
                    lc.Add(c);
                }
                foreach (char c0 in s)
                {
                    count = 0;
                    while (lc.Contains(c0))
                    {
                        lc.Remove(c0);
                        count++;                }
                    if (count == 2) 
                    {
                        Rl.Add(c0);
                        
                    }
                }
                string re=null;
                foreach (char item in Rl)              {  re = re + item;}            return re;
    }
      

  6.   

    太好了,不是很理解s.GroupBy(c => c),是指对对象自己的回调,为什么需要用到groupby呢?
    可以讲解一下么?
      

  7.   

                string str = "abcdgegeagdccvivio";
                int[] arr = new int[26];
                foreach (char c in str)
                {
                    arr[c - 97]++;
                }
                for (int i = 0; i < arr.Length;i++ )
                {
                    if (arr[i]==2)
                        Console.WriteLine(Convert.ToChar(i + 97));
                }
      

  8.   

    啊 我写错了 是string s=“a,b,c,d,g,e,g,e,a,g,d,c,c,v,i,v,i,o”.
      

  9.   

     
    string s=“a,b,c,d,g,e,g,e,a,g,d,c,c,v,i,v,i,o”;
    s = s.Replace(",","");public string f(string s){
                List<char> lc = new List<char>();
                int count = 0;
                List<char>Rl=new List<char>();
                foreach (char c in s)
                {
                    lc.Add(c);
                }
                foreach (char c0 in s)
                {
                    count = 0;
                    while (lc.Contains(c0))
                    {
                        lc.Remove(c0);
                        count++;                }
                    if (count == 2) 
                    {
                        Rl.Add(c0);
                        
                    }
                }
                string re=null;
                foreach (char item in Rl)              {  re = re + item;}            return re;
    }