-2

文字列の中で最も長いパターンを見つけようとしています。たとえば、string= 'aabbbcc' があり、最長のパターンである 'bbb' を返すようにします。助けてください。ありがとう

4

2 に答える 2

0

.NETは、次を使用してこれを簡単に実現できます。

string s = "aabbbcc";
var countByObject = s.GroupBy(q => q).OrderByDescending(q1 => q1.Count())
                                     .Select(q2 => new { Letter = q2.Key, CountOfObjects = q2.Count() })
                                     .ToList();

...ここで、と対応するcountByObjectを含む匿名オブジェクトのリストです。実装:LetterCount

s.GroupBy(q => q).OrderByDescending(q1 => q1.Count())
                 .Select(q2 => new { Letter = q2.Key, CountOfObjects = q2.Count() })
                 .ToList().ForEach(q3=>{
                       Console.WriteLine(String.Format("{0} {1}",q3.Letter, q3.CountOfObjects));   
                 });

...印刷します:

b 3
a 2
c 2
于 2012-05-02T17:18:17.847 に答える
0

言語は言いませんでしたが、forを使用して、文字列の各文字を最後の文字と比較できます。それが等しいたびに、変数に1を追加できます...最後に、最大の変数を取得するだけです...(2つの変数を使用するだけで実行できます)

于 2012-05-02T17:19:17.983 に答える