c++如何求1的个数
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本篇内容主要讲解"c++如何求1的个数",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c++如何求1的个数"吧!算法:核心在于单个数字的1的个数的计算,其他
千家信息网最后更新 2025年02月08日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安全错误
数据库的锁怎样保障安全
反恐精英服务器维护
管家婆软件购买什么样的服务器
软件开发如何拓客
菲律宾 网络技术 月薪
服务器运维工作内容
网络技术维护部门职责
路考中心网络技术员
小度属于哪家互联网科技公司
360网络安全数据报告
查看数据库表文件
日程软件开发
2021年网络安全审查办法
小朋友网络安全宣传周
中国移动服务器修改密码
mysql64数据库下载
网络安全 梅江
数据库安全审计怎么设置
php连接数据库字符串
蚂蚁聚慧网络技术
乌克兰国家基因数据库
mysql数据库延迟复制
黄历数据库 下载
dread hunger 服务器连接失败
杭州月牙儿网络技术
手机网络安全秘钥怎么找
网络技术单招2022山东
网络安全与信息化委员会主任
中专网络安全专业要学编程嘛
互联网科技公司好干嘛
永顺软件开发项目管理