public class Solution {
public int[] SortByBits(int[] arr) {
Array.Sort(arr, (x,y) =>
{
if(NumberOf1s(x).Equals(NumberOf1s(y)))
return x.CompareTo(y);
return NumberOf1s(x).CompareTo(NumberOf1s(y));
});
return arr;
}
public int NumberOf1s(int number)
{
string binary = Convert.ToString(number, 2);
return binary.Count(c => c.Equals('1'));
}
}
public class Solution {
public int[] SortByBits(int[] arr) {
return array.OrderBy(x =>
{
string binary = Convert.ToString(x, 2);
return binary.Count(c => c.Equals('1'));
}).ThenBy(x => x).ToArray();
}