【LeetCode从零单排】No 191.Number of 1 Bits(考察位运算)

题目

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).

For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.


代码

1.递归运算,虽然leet不通过,因为时间原因
public class Solution {// you need to treat n as an unsigned valuepublic static int hammingWeight(int n) {if(n==0) return 0;if(n==1) return 1;int total=1;int index=1;while(n-total*2>=0){total=total*2;}n=n-total;index=index+hammingWeight(n);return index;}


2.用位运算方法

public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {if(n==0) return 0;int i=0;while(n!=0){n=n & (n-1);i++;}return i;}
}



代码下载:https://github.com/jimenbian/GarvinLeetCode


/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提高生产力,最全 MyBatisPlus 讲解!

如果你每天还在重复写 CRUD 的 SQL,如果你对这些 SQL 已经不耐烦了,那么你何不花费一些时间来阅读这篇文章,然后对已有的老项目进行改造,必有收获!一、MP 是什么MP 全称 Mybatis-Plus ,套用官方的解释便是成…

c#象棋程序_C ++程序确定象棋方块的颜色

c#象棋程序A chess board is equally divided into 64 identical squares that are black and white alternately. Each square on the chessboard can be identified by the coordinates as A to H on the horizontal axis and 1 to 8 on the vertical axis as shown in the f…

几个力学概念

简支梁 简支梁就是两端支座仅提供竖向约束,而不提供转角约束的支撑结构。简支梁仅在两端受铰支座约束,主要承受正弯矩,一般为静定结构。 只有两端支撑在柱子上的梁,主要承受正弯矩,一般为静定结构。体系温变、混凝土收…

Linux(CentOS)安装apache(httpd),其他电脑无法访问的原因 【iptables打开某端口】

今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.2), 然后在windows系统下访问此虚拟机的ip地址,却访问不了。 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上…

python字符串转义序列_Python | 忽略字符串中的转义序列

python字符串转义序列First see, how escape sequence works? 首先看,转义序列如何工作? In the below example, we are using some of the escape sequence and their outputs, we are printing single quote (\), double quotes (\"), printing…

MySQL中你必须知道的10件事,1.5万字!

攻击性不大,侮辱性极强1、SQL语句执行流程MySQL大体上可分为Server层和存储引擎层两部分。Server层:连接器:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经创建的链接权…

Xamarin只言片语2——Xamarin下的web api操作

在很多时候,我们是希望手机app是要和服务端关联,并获取服务端的数据的,本篇博文我们看一下在xmarin下,怎么和用web api的方式与服务端连接并获取数据。首先看web api的开发,本实例是用Visual Studio 2013 with update …

求求你,别再用wait和notify了!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)Condition 是 JDK 1.5 中提供的用来替代 wait 和 notify 的线程通讯方法,那么一定会有人问:为什么不…

JavaScript--变量、作用域及内存(12)

// JS变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已; // 由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变; 一 变量及作用域 1.基本类型和引用类型 1 // JS变量包含两种不同的数…

查看MYSQL数据库中所有用户及拥有权限

查看MYSQL数据库中所有用户mysql> SELECT DISTINCT CONCAT(User: ,user,,host,;) AS query FROM mysql.user; --------------------------------------- | query | --------------------------------------- | User: cactiuser%; …

c ++类成员函数_C ++编程中的数据成员和成员函数

c 类成员函数C 中的数据成员和成员函数 (Data members and Member functions in C) "Data Member" and "Member Functions" are the new names/terms for the members of a class, which are introduced in C programming language. “数据成员”和“成员函…

一文学搞懂阿里开源的微服务新贵Nacos!

正式开始之前我们先来了解一下什么是 Nacos?Nacos 是阿里的一个开源产品,它是针对微服务架构中的 「服务发现」、「配置管理」、「服务治理」的综合性解决方案。官网给出的回答:“Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组…

ntfs安全权限和共享权限的区别

ntfs安全权限和共享权限的区别 win xp 最大分区32G,最大文件大小4G. 共享权限是为网络用户设置的,NTFS权限是对文件夹设置的。用户对文件夹有什么权限就是看NTFS权限的设置。如果一个文件夹设置成共享,其具体的权限还是在NTFS权限上面设置的,…

The connection to adb is down, and a severe error has occured.

转自:http://blog.csdn.net/yu413854285/article/details/7559333 (感谢原文作者,问题解决) 启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有…

kotlin 16进制_Kotlin程序将八进制数转换为十进制数

kotlin 16进制Given a number in octal number system format, we have to convert it into decimal number system format. 给定八进制系统格式的数字,我们必须将其转换为十进制系统格式。 Example: 例: Input:num 344Output:228在Kotlin中将八进制数…

线程池的7种创建方式,强烈推荐你用它...

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)根据摩尔定律所说:集成电路上可容纳的晶体管数量每 18 个月翻一番,因此 CPU 上的晶体管数量会越来越…

SQL调用C# dll(第一中DLL,没使用强名称密匙,默认是 safe)

https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx 1、新建项目名称SQLDllTest,类代码如下,没有用Using引用其他类: (框架必须改为.NET3.5及3.5以下,因为SQL Server 2008只是支持.NET 3.5及一下&#xf…

Linux系统下启动MySQL的命令及相关知识

一、总结一下: 1.Linux系统下启动MySQL的命令: /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令: /ect/init.d/mysql …

线性代数向量乘法_标量乘法属性1 | 使用Python的线性代数

线性代数向量乘法Prerequisite: Linear Algebra | Defining a Vector 先决条件: 线性代数| 定义向量 Linear algebra is the branch of mathematics concerning linear equations by using vector spaces and through matrices. In other words, a vector is a mat…

Synchronized 的 8 种使用场景!

blog.csdn.net/x541211190/article/details/106272922简介本文将介绍8种同步方法的访问场景,我们来看看这8种情况下,多线程访问同步方法是否还是线程安全的。这些场景是多线程编程中经常遇到的,而且也是面试时高频被问到的问题,所…