#P1207. 根据二进制1的数目排序

根据二进制1的数目排序

题目描述

有一个整数数组。请你将数组中的元素按照其二进制表示中数字1的数目升序排序。

如果存在多个数字二进制中1的数目相同,则必须将它们按照数值大小升序排列。

输出排序后的数组。


输入格式

第一行一个整数n,表示数组元素个数(1≤n≤100);

第二行n个整数,表示数组元素ai(1≤ai≤255)。

输出格式

一行n个数,为排序后的数组。


输入/输出样例

9
0 1 2 3 4 5 6 7 8
0 1 2 4 8 3 5 6 7

样例解释

0是唯一一个有0个1的数。

1、2、4、8都有1个1;

3、5、6有2个1;

7有3个1。

按照1的个数排序得到的结果数组为:0 1 2 4 8 3 5 6 7


说明/提示

时间1000ms,内存256MiB