剑指offer计划21( 位运算简单)—java

1.1、题目1

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

1.2、解法

通过判断每一位的与来识别1的数量。

1.3、代码

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int res=0;
        for(int i=0;i

2.1、题目2

剑指 Offer 65. 不用加减乘除做加法

2.2、解法

第一次做位运算的算法,直接看题解,找思路~~
两道题的解法都很有趣,之前都没用到过这些东西, 这些在嵌入式应该比较经常用上。

2.3、代码


class Solution {
    public int add(int a, int b) {
        while(b != 0) { // 当进位为 0 时跳出
            int c = (a & b) << 1;  // c = 进位
            a ^= b; // a = 非进位和
            b = c; // b = 进位
        }
        return a;
    }
}

Original: https://www.cnblogs.com/cxykhaos/p/15316427.html
Author: 程序员khaos
Title: 剑指offer计划21( 位运算简单)—java

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598472/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【转载】Springboot整合 一 集成 redis

    原文:http://www.ityouknow.com/springboot/2016/03/06/spring-boot-redis.html https://blog.csdn…

    Linux 2023年5月28日
    0103
  • The remote debugger is older than this version of Visual Studio 2019, and Visual Studio is no longer compatible with it. Upgrade your remote debugger to match Visual Studio.

    之前一直使用VS2019来打包到Xbox上,但是这两天有一个项目,只能用2017部署,于是下载了vs2017,然后这个2017的项目顺利打包到Xbox,但是2019的项目却部署失败…

    Linux 2023年6月13日
    073
  • 白话电子签章原理及风险

    因为业务需要近来在对接一个线上的电子签章平台, 签完的效果就是在PDF上盖一个红色的章。内部过程沟通中发现,对这个红色章背后的证明逻辑,技术原理,能够了解的比较清楚的人还是很少的。…

    Linux 2023年6月13日
    095
  • 操作系统实现-外中断

    博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935 这一次我们来对中断中的外中断进行讲解,先给下中断的分类和中断号分配把。 中…

    Linux 2023年6月13日
    0121
  • 博客被阮一峰引流后,我对“大数据”的分析与思考

    事情经过 2021年9月3日,一个普通的的早上,我照常打开了我的小博客网站echeverra,看看有没有评论,虽然知道大概率没几个人访问,更鲜有人评论,可还是想打开自己的小窝瞅上那…

    Linux 2023年6月7日
    078
  • Redis Cluster集群

    Redis集群 Redis集群是一个可以在多个Redis节点之间进行数据共享的设施( installation )。 Redis集群不支持那些需要同时处理多个键的Redis命令,因…

    Linux 2023年5月28日
    084
  • 没学习的恐惧

    已经三个月没有接触新知识,每次上线之后就有一些bug,觉得自己作为一个点点点的测试很失败。我很迷茫,我都不知道自己一天是如何过的,反正就觉得时间过的很快,而且发现什么事都没做一天就…

    Linux 2023年6月8日
    090
  • 用redis解决多用户同时编辑同一条数据问题

    1,场景再现 场景:总公司可以给分公司下发今年的规划任务(可能只是写了个规划大纲),分公司收到后,进行详细的规划补充,然后提交。 比如规划表: CREATE TABLE sys_p…

    Linux 2023年5月28日
    084
  • 用无感知的方式为你的数据加上一层缓存

    前言 本篇文章会介绍一个我自己写的库,库地址在这里,主要作用是提供一个注解,在你方法上使用这个注解,库提供的功能会帮你把数据自动缓存起来,下次再调用这个方法只要入参是一致的则直接会…

    Linux 2023年6月14日
    0128
  • MarkDown_语法规则

    MarkDown_语法规则 版权 作者: 罗在金 创建于:2021/11/22 修改于:2021/11/22 [基础篇] [标题] 这里我将源码嵌入代码框内,这样不会影响大纲的结构…

    Linux 2023年6月7日
    0107
  • Go语言中的零值坑记

    开箱即用 什么叫开箱即用呢?因为 Go语言的零值让程序变得更简单了,有些场景我们不需要显示初始化就可以直接用,举几个例子: 切片,他的零值是 nil,即使不用 make进行初始化也…

    Linux 2023年6月6日
    0117
  • 总结:弹性伸缩的五个条件与六个教训

    前言弹性伸缩是云计算时代给我们带来的一项核心技术红利,但是 IT 的世界中,没有一个系统功能可以不假思索的应用到所有的场景中。这篇文章,我们将应用企业级分布式应用服务-EDAS 的…

    Linux 2023年6月8日
    098
  • SpringBoot——Redis实现分布式集群Session共享

    1.添加pom.xml依赖 org.springframework.boot   spring-boot-starter-data-redis   org.springframew…

    Linux 2023年5月28日
    087
  • SSH免密登录的配置

    ssh登录 登录ssh一般情况有两种方法 密码登录 秘钥登录(免密) 大部分情况我们选择都是输入密码登录,平常使用暂时没有遇到什么问题。最近我编写了一些使用scp来传输文件的脚本,…

    Linux 2023年6月6日
    051
  • Redis 的 5 个常见使用场景

    在这篇文章中,我们将阐述 Redis 最常用的使用场景,以及那些影响我们选择的不同特性。 最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存…

    Linux 2023年5月28日
    0108
  • Redis进阶 事务:Redis事务详解

    Redis事务相关命令 Redis事务执行步骤 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执…

    Linux 2023年5月28日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球