当前位置: 首页 > wzjs >正文

新疆建设工程云网站百度客服人工

新疆建设工程云网站,百度客服人工,浏览学校网站的做介绍,买邮箱的网站题目&#xff1a; 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同&#xff0c;则必须将它们按照数值大小升序排列。 请你返回排序后的数组。 提示&#xff1a; 1 < arr.length < 5000…

题目

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

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

请你返回排序后的数组。

提示:

  • 1 <= arr.length <= 500
  • 0 <= arr[i] <= 10^4

思路:首先,根据 1的个数 和 当前数值,生成一个新的数字,来 存储 每一个数字 的 1的个数 和 本身的值。接下来,将 存储的数字,还原成最初始的数字,并根据 1的个数 和 当前数值 排序。

代码

class Solution {public int[] sortByBits(int[] arr) {int length = arr.length;for (int i = 0; i < length; i++) {// 因为arr[i]最大是10^4,还原时 arr[i]是余数// 因此 %= 10^5 放大也是放大10^5arr[i] = Integer.bitCount(arr[i]) * 100000 + arr[i];}Arrays.sort(arr);for (int i = 0; i < length; i++) {arr[i] %= 100000;}return arr;}
}

性能

时间复杂度o(nlogn)快排时间

空间复杂度o(logn)  快排递归调用栈

http://www.dtcms.com/wzjs/303466.html

相关文章:

  • 衡水淘宝的网站建设文章代写
  • 南山做网站公司seo关键词使用
  • 做app布局参考哪个网站软件注册推广平台
  • 最好的免费logo设计网站网站搜索引擎优化方法
  • 盘锦网站建设哪家好武汉全网推广
  • 网上做网站怎么做下拉菜单免费推广软件工具
  • 濮阳市做网站公司googleplay
  • 彩票的网站怎么做社区推广
  • 基层档案网站建设网络营销模式下品牌推广研究
  • 网站建设中所涉及的所有链接建设网站运营策划书
  • 什么软件做高级网站中国足彩网竞彩推荐
  • 石河子做网站企业推广网
  • 迪庆网站建设南宁一站网网络技术有限公司
  • 网站开发运用到的相关技术如何给公司做网络推广
  • 南京做网站好的公司网址百度刷排名
  • 房地产最新消息利好百色seo快速排名
  • 企业网站建设基本步骤淘宝运营培训班学费大概多少
  • 易语言做网站后端引流人脉推广软件
  • 建设局网站公告关注公众号推广2元一个
  • 建设网站 深圳南京网站设计公司大全
  • go做网站网络营销方案策划论文
  • 如何使用免费b站推广网站会计培训班推荐
  • 求个网站你懂我的意思吗宁波seo整体优化公司
  • 给企业做网站的公司网站建设公司是怎么找客户
  • 绵阳企业品牌网站建设网站seo在线优化
  • 景安香港主机可以做几个网站宁夏百度公司
  • 青岛网站建设公司外包简单的网页设计作品
  • 如何做宣传推广的网站链接直播:英格兰vs法国
  • 沈阳网站建设工作合肥网络推广有限公司
  • 做网站字体格式用锐利吗网站编辑seo