文字列の中で最も長いパターンを見つけようとしています。たとえば、string= 'aabbbcc' があり、最長のパターンである 'bbb' を返すようにします。助けてください。ありがとう
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
を含む匿名オブジェクトのリストです。実装:Letter
Count
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 に答える