Open
Changes from all commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Failed to load files.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
#include<bits/stdc++.h>
using namespace std;

class Solution {
public:

static bool cmp ( int a, int b )
{
int bitsa = 0;
int bitsb = 0;
int ta = a, tb = b;
while( a != 0 )
{
if ( a%2 == 1 )
bitsa++;
a /= 2;
}
while( b != 0 )
{
if ( b%2 == 1 )
bitsb++;
b /= 2;
}
return ( bitsa != bitsb ? bitsa < bitsb : ta < tb);
}

vector<int> sortByBits ( vector<int>& arr ) {
sort( arr.begin(), arr.end(), cmp );
return arr;
}
};