Files
Пытков Роман c47d2185b5 fast solution 451
2024-02-07 22:08:26 +03:00

26 lines
719 B
C#

using System.Text;
namespace _451._Sort_Characters_By_Frequency.Fast;
public class Solution
{
private static int Comparer((char, int) el1, (char, int) el2)
{
return el2.Item2.CompareTo(el1.Item2);
}
public string FrequencySort(string s)
{
var count = new (char, int)[128];
for (var ch = (char)0; ch < count.Length; ch++)
count[ch].Item1 = ch;
foreach (var c in s)
count[c].Item2++;
var sb = new StringBuilder();
Array.Sort(count, Comparer);
for (var ch = (char)0; ch < count.Length; ch++)
while (count[ch].Item2-- > 0)
sb.Append(count[ch].Item1);
return sb.ToString();
}
}