思路:一个简单的思路就是先求出每一个数x的二进制位数count,然后把它加入map的映射中,即x加入m[count]的数组中,map<int ,vector> m;然后m每一个key里面的value进行排序,排完就一次加入res中,因为map保证key的有序性,所以最终符合要求;

class Solution {public:map<int, vector<int>> m;static bool cmp(int a, int b){return a < b;}void count(int x) //计算x中1的数目{int count = 0;int xx = x;while (xx){if (xx & 1){count++;}xx = xx >> 1;}m[count].push_back(x);}vector<int> sortByBits(vector<int> &arr){int len = arr.size();if (len < 2){return arr;}vector<int> res;for (int i = 0; i < len; i++){count(arr[i]);}for (auto s : m){int len_second = s.second.size();if (len_second > 1){sort(s.second.begin(), s.second.end(), cmp);}for (int i = 0; i < len_second; i++){res.push_back(s.second[i]);}}return res;}
};

Leetcode每日一题:1356.sort-integers-by-the-number-of-1-bits(根据二进制1的个数排序)相关推荐

  1. 1356. Sort Integers by The Number of 1 Bits 根据数字二进制下 1 的数目排序

    给你一个整数数组 arr .请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序. 如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列. 请你返回排序后的数组.   示 ...

  2. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  3. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  4. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

  5. leetcode每日一题825. 适龄的朋友 快排+双指针

    本文目录 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在后面 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前 ...

  6. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  7. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  8. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  9. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  10. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

最新文章

  1. Nature综述:工程微生物组的通用原则和最佳实践
  2. USACO 1.0_Friday the Thirteenth
  3. msql查询指定日期
  4. XCTF-Reverse:Hello,CTF
  5. C#装箱和拆箱(值类型和引用类型之间的转换)
  6. kubernetes高级之创建只读文件系统以及只读asp.net core容器
  7. Golang 实现【链表反转】
  8. android o 编译及运行,【转】实践最有效的提高Android Studio运行、编译速度方案
  9. 2. Rust的三板斧 安全,迅速,并发
  10. Java 内存管理、JVM 工作原理与 Java 运行时系统
  11. 李春葆《数据结构教程》课后习题和实验代码
  12. 计算机信息技术结束语,新学期初二年级计算机信息技术课第四节结尾
  13. edge microsoff 连不上网_win10电脑连不上网的三种解决方法
  14. 强化学习——初探强化学习
  15. 大前端 - 微信小程序
  16. 2021年私域流量的力量会更强劲!
  17. 从搜狗网站爬取微信公众号文章
  18. 【Go语言实战】(2) Gin+Vue 电子商城
  19. 《工程电磁场》学习笔记4-时变电磁场
  20. 转载:技术大停滞——范式春梦中的地球工业文明6 台阶的本质:复杂度魔鬼

热门文章

  1. (学习笔记)laravel 中间件
  2. Mac上安装第三方应用显示包资源破坏解决办法
  3. 《梦断代码》随笔第2篇
  4. 套接字,TCP,UDP
  5. python监控机器(第1版)
  6. elasticsearch安装bigdest插件
  7. Spring(一)--作用、IOC容器细节、搭配环境、Spring实验
  8. 迭代器 in C++
  9. 学会使用JDK API
  10. 点击对应不同name的button,显示不同name的弹窗(弹窗功能)