力扣刷题 day47:10-17

news2025/1/18 10:06:30

1.位1的个数

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。

方法一:逐个判断 利用n&1 

#方法一:逐个判断 利用n&1
def hammingWeight(n):
    res=0
    while n :  #逐个判断 n&1==0时候 最右边为0  ==1时,最右边为1
        res+=n&1
        n>>=1  #无符号右移 
    return res

方法二:利用n&(n-1) ,去除最右边的1 

#方法二:利用n&(n-1) ,去除最右边的1
def hammingWeight(n):
    res=0
    while n :  #看看能去除几个1
        res+=1
        n&=(n-1)  #去除最右边的1
    return res

2.2 的幂 

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。

如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。

方法一:利用n&(n-1)

#方法一:利用n&(n-1)
def isPowerOfTwo(n):
    res=0
    if n<0:
        return False #负数肯定不是
    while n :
        res+=1
        n&=(n-1)  #拿到最右边第一个1
    if res==1:  #2的幂只有一个1
        return True
    else:
        return False

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

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

相关文章

重载、重写(覆盖)与重定义(隐藏)

重载、重写&#xff08;覆盖&#xff09;与重定义&#xff08;隐藏&#xff09; 重载隐藏&#xff08;重定义&#xff09;多态&#xff1a;重写&#xff08;覆盖&#xff09; 三者的区别 重载 必须是在一个作用域&#xff0c;函数名相同&#xff0c;参数不同&#xff08;个数不…

C复习-基础知识

参考&#xff1a; 里科《C和指针》Bryant, Hallaron 《深入理解计算机系统》何昊&#xff0c;叶向阳《程序员面试笔试宝典》 从hello.c到可执行文件hello 在Unix系统中&#xff0c;从源文件到目标文件的转化是由编译器驱动程序完成的&#xff1a; root> gcc -o hello hel…

RTOS(4)自己的第一个FreeRTOS程序

创建两个任务 什么是任务呢&#xff1f; 对于整个单片机程序&#xff0c;我们称之为application&#xff0c;应用程序。 使用FreeRTOS时&#xff0c;我们可以在application中创建多个任务(task)&#xff0c;有些文档把任务也称为线程 (thread)。 void Task1Function(void *p…

课时4作业3

Description 某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张&#xff0c;且每种票子至少一张。问&#xff1a;有几种换法&#xff1f; Input 无输入 Output 一个数&#xff0c;表示共有多少种换法 Sample Input 1 无 Sample O…

手写一个PrattParser基本运算解析器1: 编译原理概述

点击查看 基于Swift的PrattParser项目 编译原理概述 编译原理是我们每一个程序猿必须要了解的技能, 编译原理实际上并没有啥高深的技术, 我们如果在做业务开发, 也很少会用到编译开发的知识, 但是编译原理又是我们必备的基础知识之一. 所以我们需要对编译原理的内容有一个大概的…

76.C++ STL list容器

目录 1.什么是list容器 2.list构造函数 3. 元素插⼊和删除操作 4.大小操作 5.赋值操作 6.数据存取操作 7.反转、排序 1.什么是list容器 list 是 C 标准库提供的双向链表容器。它与 vector 和 deque 不同&#xff0c;不是连续的内存块&#xff0c;而是由节点组成的链表结…

C语言——二周目——数据在内存中的存储

目录 一、整数的存储方式 二、浮点数的存储方式 一、整数的存储方式 因为CPU只有加法器&#xff0c;所以对于整型来说&#xff0c;数据在内存中通常采用补码的方式进行储存。 在这里复习一下原码、反码、补码。 正数和无符号数的原码、反码、补码相同&#xff1b; 负数的原…

考察软件开发公司的能力

当公司需要与软件外包公司合作时需要考察软件开发公司的能力和水平&#xff0c;这会涉及到很多方面的因素。需要通过综合考察和了解软件开发公司的能力和水平&#xff0c;选择合适的合作伙伴&#xff0c;确保项目的成功交付。下面分享一些关键步骤和方法&#xff0c;希望对大家…

【JVM】JVM的垃圾回收机制

JVM的垃圾回收机制 对象死亡判断方法引用计数算法可达性分析算法 垃圾回收算法标记清除法复制算法标记整理算法分代算法 Java运行时内存的各个区域,对于程序计数器,虚拟机栈,本地方法栈这三个部分区域而言,其生命周期与相关线程有关,随线程而生,随线程而灭,并且这三个区域的内存…

Excel冻结窗格

1、冻结表格首行 点击菜单栏中的“视图”&#xff0c;选择“窗口”选项卡中的“冻结窗格”下的小三角&#xff0c;再选择“冻结首行”&#xff1b; 2.冻结表格首列 点击菜单栏中的“视图”&#xff0c;选择“窗口”选项卡中的“冻结窗格”下的小三角&#xff0c;再选择“冻结…

图扑智慧仓储数据可视化监控平台

随着市场竞争加剧和市场需求的不断提高&#xff0c;企业亟需更加高效、智能且可靠的仓储物流管理方式&#xff0c;以提升企业的物流效率&#xff0c;减少其输出成本&#xff0c;有效应对市场上的变化和挑战。 图扑软件应用自研 HT for Web 产品搭建的 2D 智慧仓储可视化平台&a…

【轻松搞定】Edge 或 Google 无法上网问题

目录 前言 一、解决 Edge 无法上网的问题 1.1 键盘按下 WIN R 或 右键开始标志&#xff0c;启动运行 1.2 输入 regedit 进入注册表管理 1.3 打开到 \HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft 位置下新建项 Edge 1.4 右键 Edge 新建 DWORD (32) 文件&#xff0c…

<FPGA>好的编码风格(1)--尽量避免组合逻辑环路(Combinational Loops)

什么是组合逻辑环路&#xff1f; 组合逻辑环路&#xff08;Combinational Loops&#xff09;&#xff1a;指组合逻辑的输出信号不经过任何时序逻辑&#xff08;FF等&#xff09;&#xff0c;而是直接反馈到输入节点&#xff0c;从而构成的电路环路。 此外&#xff0c;如果直接将…

【开源分享】基于Html开发的房贷计算器,模仿新浪财经

房贷计算器是一种房贷计算的在线计算Web应用&#xff0c;按用户选择的贷款类型、贷款金额、期限、利率可计算得出每月月供参考、支付利息、还款总额这些信息。本文模仿新浪财经开发的房贷计算器。 作品预览 https://fangdai.gitapp.cn 源码地址 https://github.com/geeeeeee…

Qt5.12.12构建64位QMYSQL数据库驱动“driver not loaded”

在调用QSqlDatabase::open()时,会报错:“driver not loaded” 原因实际上是mysql 的驱动 qsqlmysql.dll 没有成功加载。 所以本篇文章将详细介绍一下:Qt5.12.12如何构建64位QMYSQL数据库驱动。 执行 写在最前,以下出现的文件路径为我自己电脑安装的路径,可根据自己的路…

vim快捷指令

普通模式—>插入模式 i:插入到当前光标的前面&#xff08;insert&#xff09; a:插入到光标的后面&#xff08;append&#xff09; o:插入到下一行 I:插入到行首 A:插入到行尾 O&#xff1a;插入到前一行 H:行首 L:页的最后一行的行首 W:光标跳到下一个单词词首 b:上一个单…

广州华锐互动:VR模拟高楼层建筑应急逃生,提供身临其境的虚拟体验

随着城市化进程的不断加速&#xff0c;高层建筑越来越多地出现在我们的生活中。然而&#xff0c;高层建筑的安全问题也日益凸显。一旦发生火灾、地震等突发事件&#xff0c;如何迅速、安全地逃离高楼成为了人们关注的焦点。近年来&#xff0c;虚拟现实&#xff08;VR&#xff0…

JUC并发编程——ForkJoin与异步回调

ForkJoin &#xff08;分支合并&#xff09; 什么是ForkJoin ForkJoin在JDK1.7出现 &#xff0c;并行执行任务&#xff0c;在大数据量下&#xff0c;能够提高效率 讯飞星火提供的说法&#xff1a; Forkjoin是一种并行计算的算法&#xff0c;用于将一个大任务分解为多个小任务…

【PSO-RFR预测】基于粒子群算法优化随机森林回归预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

MinIO (三) 使用Webhook实时同步文件

前言 使用MinIO的过程中&#xff0c;我们这里遇到个需求&#xff0c;系统需要预览3D文件&#xff0c;前端操作&#xff0c;用浏览3D文件的工具打开3D文件的目录即可实现在线预览功能&#xff0c;这个时候问题来了&#xff0c;MinIO上传文件后进行了编译&#xff0c;如下图 这个…