c++如何求1的个数
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"c++如何求1的个数",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c++如何求1的个数"吧!算法:核心在于单个数字的1的个数的计算,其他
千家信息网最后更新 2025年12月03日c++如何求1的个数
本篇内容主要讲解"c++如何求1的个数",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c++如何求1的个数"吧!
算法:
核心在于单个数字的1的个数的计算,其他的题目都是基于这个基础来做的操作。
题目1:求1的个数
代码实现:
func hammingWeight(num uint32) int { count := 0 for i := 0; i < 32; i++ { if num&(1<题目2:根据数字二进制下1的数目排序
代码实现:
func sortByBits(arr []int) []int { tmp := make(map[int][]int) nums := []int{} for _, a:=range arr { n:=getCount(a) v,ok:=tmp[n] if !ok { v = []int{a} tmp[n] = v nums = append(nums,n) } else { v = append(v,a) tmp[n] = v } } // 利用map将数组按照升序的方式排序 sort.Ints(nums) res := []int{} for _,v := range nums{ // 相同位数的数组里面也需要按照升序排序 sort.Ints(tmp[v]) res =append(res,tmp[v]...) } return res}func getCount(a int) int { c := 0 for a != 0 { if a&1 == 1 { c++ } a = a>>1 } return c}题目3: 二进制表示中质数个计算位置
代码实现:
func countPrimeSetBits(L int, R int) int { // 质数是只能被1和自己整除,R最大值是10^6,也就是2^20,所以质数如下 s := []int{2,3,5,7,11,13,17,19} m := make(map[int]int) for _,v:=range s { m[v] = v } // 计算每个数中1的个数 c := 0 for i:=L;i<=R;i++ { t := numCount(i) if _,ok := m[t];ok { c++ } } return c}func numCount(num int) int { c := 0 for i:=0;i<64;i++ { if num&(1<到此,相信大家对"c++如何求1的个数"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
个数
c++
题目
代码
质数
排序
二进制
内容
升序
单个
数字
数组
算法
学习
实用
更深
最大
相同
也就是
位数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界老船长服务器
计算机网络技术个人专长
导出数据库表结构
可转入的服务器
浦东新区银联网络技术管理方法
看家狗软件开发
酷派福州佳讯网络技术有限公司
重庆铭横软件开发有限公司
用服务器做电脑主机行不行
标准的机架式服务器宽带
软件开发必读
优特网络技术有限公司
网络安全的紧急通知
rust怎么租服务器
光馨网络技术工作室
徐静蕾手写体软件开发
宝山区咨询软件开发厂家销售方法
网络安全教育课的效果
四创软件开发
手机数据流量显示服务器异常
大公软件开发
计算机网络技术考软考
gmod杀手服务器
杭州管理软件开发外包
兼职软件开发怎么找工作
软件开发中模型的作用
数据库技术实务知识点
计算机网络安全专业是什么
本页要求建立包含服务器
网络安全模式下装