当前位置: 首页 > 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/670725.html

相关文章:

  • 云南科技公司网站用vs2013做网站教程
  • 网站建设微信商城多少钱做网站送400电话
  • 什么样的资质做电子商务网站清除wordpress开发痕迹
  • 专门做中式装修的网站wordpress首页被篡改
  • 企业网站图片上传河南红旗渠建设集团网站
  • 北京做网站的公司哪家好ppt素材大全免费下载
  • 智能建站系统网站已有备案了 现在换空间商还用备案么
  • 站长统计app软件大全网络网站建设办公
  • 网红营销的优势与劣势南阳企业网站排名优化
  • 漳州做网站建设的公司做网站协议书
  • 重庆响应式网站多少钱windows网站建设教程
  • 如何进行网站设计规划微信小程序开发平台官网
  • 青岛大学春季高考有网站建设吗做的网站不能放视频
  • wordpress搭建公司网站福州长乐网站建设
  • 报社网站开发做什么梅州市网站制作
  • 网站开发人员的水平中国航发网上商城
  • 石家庄网站建设石家庄微网站 php
  • 网站维保方法windows版本的wordpress
  • 网站建设技术 教材做国际贸易如何建网站
  • 西安 房产网站建设广告公司品牌策划
  • 南阳网站开发网站中flash怎么做的
  • 上海高端网站搭建陕西seo顾问服务
  • 如何搭建手机网站网站建设类目
  • 无锡网站设计无锡网站建设关闭wordpress注册邮件
  • WordPress托管如果使用插件福州排名seo公司
  • 门户网站和官网的区别寓意好的公司名字大全免费
  • 什么网站做谷歌联盟好建设网站会员
  • 南宁网站建设是什么意思最新的购物网站 开
  • 杭州响应式网站图书馆网站建设报告
  • 手机网站后台管理系统建设企业功能型网站