首页 > 其他分享 >剑指Offer 15. 二进制中1的个数

剑指Offer 15. 二进制中1的个数

时间:2023-08-26 15:55:04浏览次数:37  
标签:15 Offer 二进制 ++ num ans

题目链接: 剑指Offer 15. 二进制中1的个数
题目描述:
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。

解法思路:
思路一:num依次右移,判断每一次移动后最后一位是否是1,是的话,就ans++

代码:

func (num uint32)int{
  ans :=0
  for i:=0;i < 32;i++{
      if (num >> i)&1 == 1{
          ans ++
      }
  } 
  return ans
}

思路二:
n-1 能让二进制数 n 最右边的 1 变成 0,此 1 后面的数全部变为 0
n & (n-1) 能让二进制数 n 最右边的 1 变成 0*

func (num uint32)int{
  ans :=0
  for num !=0 {
      if num & (num - 1){
          ans ++
      }
  } 
  return ans
}

标签:15,Offer,二进制,++,num,ans
From: https://www.cnblogs.com/lxing-go/p/17658903.html

相关文章

  • 剑指Offer 14- II. 剪绳子 II
    题目链接:剑指Offer14-II.剪绳子II题目描述:给你一根长度为n的绳子,请把绳子剪成整数长度的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1]...k[m-1]。请问k[0]k[1]...*k[m-1]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的......
  • Cisco Secure Web Appliance Virtual 15.0.0 GD - 适用于网络安全的思科高级威胁防护
    CiscoSecureWebApplianceVirtual15.0.0GD-适用于网络安全的思科高级威胁防护AsyncOSforWSA15.0.0GeneralDeployment(GD)请访问原文链接:https://sysin.org/blog/cisco-wsa-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSecureWebAppliance......
  • Cisco Secure Email Virtual Gateway 15.0.0 GD - 电子邮件安全
    CiscoSecureEmailVirtualGateway15.0.0GD-电子邮件安全AsyncOSforESA15.0.0GeneralDeployment(GD)请访问原文链接:https://sysin.org/blog/cisco-esa-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSecureEmail提供高级保护措施,保护您的收......
  • 二进制生成二维码
    由一串二进制数字生成一张二维码图片fromPILimportImagefromzxingimportBarCodeReaderreader=BarCodeReader()MAX=70pic=Image.new("RGB",(MAX,MAX))binary_nums="""此处放二进制""".replace('\n','')i=0......
  • xsschallenge通关(11-15)
    level11老规矩,先查看源码,做代码审计:<?phpini_set("display_errors",0);$str=$_GET["keyword"];$str00=$_GET["t_sort"];$str11=$_SERVER['HTTP_REFERER'];$str22=str_replace(">","",$str11);$str33=st......
  • PXC 57 二进制安装
    1.准备阶段1.1在三个节点上分别创建:用户组用户组目录--用户组用户组#/usr/sbin/groupaddmysql#/usr/sbin/useradd-gmysqlmysql--目录#mkdir–p/usr/local/mysql#chown-Rmysql:mysql/usr/local/mysql#chmod-R755/usr/local/......
  • 1152 Google Recruitment
    题目:InJuly2004,GooglepostedonagiantbillboardalongHighway101inSiliconValley(showninthepicturebelow)forrecruitment.Thecontentissuper-simple,aURLconsistingofthefirst10-digitprimefoundinconsecutivedigitsofthenaturalcon......
  • 二进制
    二进制给定一个长度为$N$的二进制串($01$串)以及一个正整数$K$。按照从左到右的顺序,依次遍历给定二进制串的$N-K+1$个长度为$K$的子串,并计算每个遍历子串的各位数字之和。将这$N-K+1$个子串数字和按照子串的遍历顺序进行排列,得到的序列就是给定二进制串的$\texttt{K-}......
  • 图像处理 Adobe Camera Raw v15.2 for Windows x64 v14.5 for macOS
    AdobeCameraRaw允许您导入和增强原始格式图像,自从2003年发布以来就成为专业摄影师的必备工具。支持AdobeCameraRaw的应用程序包括Photoshop、PhotoshopElements、AfterEffects和Bridge。此外,AdobeLightroom采用了与AdobeCameraRaw相同的强大的原始格式图像处理......
  • [刷题记录Day15]Leetcode二叉树
    No.1题目二叉树的层序遍历思路使用队列关键点:1.每进入一层,层内的节点都被处理完成2.开始遍历层内的节点前,必须先记录该层的节点数量,不能访问到下一层的节点代码publicList<List<Integer>>levelOrder(TreeNoderoot){Queue<TreeNode>queue=newLinkedList......