当前位置: 首页 > news >正文

【力扣】191.位 1 的个数、485.最大连续 1 的个数

191.位 1 的个数

题目描述

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

示例 1:

输入:n = 11
输出:3
解释:输入的二进制串 1011 中,共有 3 个设置位。

示例 2:

输入:n = 128
输出:1
解释:输入的二进制串 10000000 中,共有 1 个设置位。

示例 3:

输入:n = 2147483645
输出:30
解释:输入的二进制串 11111111111111111111111111111101 中,共有 30 个设置位。

提示:

  • 1 <= n <= 231 - 1

进阶:

  • 如果多次调用这个函数,你将如何优化你的算法?

解题方法

  • C 循环检查
int hammingWeight(int n) {int cnt = 0;unsigned int m = 0x1; // 必须定义为“无符号”型for (int i = 0; i < 32; i++) {if (n & (m << i)) {cnt++;}}return cnt;
}

复杂度分析:
时间复杂度为 O(k),其中 k 是 int 型的二进制位数,k = 32。
空间复杂度为 O(1)。


485. 最大连续 1 的个数

题目描述

给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

示例 1:

输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

示例 2:

输入:nums = [1,0,1,1,0,1]
输出:2

提示:

  • 1 <= nums.length <= 105
  • nums[i] 不是 0 就是 1.

解题方法

  • C 遍历取最大
// #define MAX(a, b) ((a) > (b) ? (a) : (b)) // 取最大值int my_max(int a, int b) {if (a > b)return a;elsereturn b;
}int findMaxConsecutiveOnes(int* nums, int numsSize) {int max_cnt = 0, cnt = 0; // 定义最大计数变量,计数变量for (int i = 0; i < numsSize; i++) {if (nums[i] == 1) {cnt++; // 对 1 计数} else {max_cnt = my_max(max_cnt, cnt); // 存储最大 1 的个数cnt = 0;                        // 重新计数}}max_cnt = my_max(max_cnt, cnt);return max_cnt;
}

复杂度分析
时间复杂度为 O(n),其中 n 是数组的长度。
空间复杂度为 O(1)。

相关文章:

【力扣】191.位 1 的个数、485.最大连续 1 的个数

191.位 1 的个数 题目描述 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中 设置位 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 11 输出&#xff1…...

蓝桥杯 java 承压计算

题目: 思路&#xff1a; 1&#xff1a;其中的数字代表金属块的重量(计量单位较大) 说明每个数字后面不一定有多少个0 2&#xff1a;假设每块原料的重量都十分精确地平均落在下方的两个金属块上&#xff0c;最后&#xff0c;所有的金属块的重量都严格精确地平分落在最底层的电子…...

leetcode268-Missing Number

这道题目要求缺失的数字&#xff0c;一般解决数组的问题&#xff0c;要么往排序数组&#xff0c;要么往双指针遍历这些方向上靠&#xff0c;要么往异或方向上靠&#xff0c;总之落点无非就只有这几个。我们要求缺失的数字&#xff0c;可以依次让1&#xff5e;n和数组元素进行异…...

【jenkins+cmake+svn管理c++项目】jenkins回传文件到svn(windows)

书接上文&#xff1a;创建一个项目 在经过cmakemsbuild顺利生成动态库之后&#xff0c;考虑到我一个项目可能会生成多个动态库&#xff0c;它们分散在build内的不同文件夹&#xff0c;我希望能将它们收拢到一个文件夹下&#xff0c;并将其回传到svn。 一、动态库移位—cmake实…...

数据结构·二叉树(2)

目录 1 堆的概念 2 堆的实现 2.1 堆的初始化和销毁 2.2 获取堆顶数据和堆的判空 2.3 堆的向上调整算法 2.4 堆的向下调整算法 2.4 堆的插入 2.5 删除堆顶数据 2.6 建堆 3 建堆的时间复杂度 3.1 向上建堆的时间复杂度 3.2向下建堆的时间复杂度 4 堆的排序 前言&…...

MATLAB算法实战应用案例精讲-【毕业季论文专用】人工智能视觉检测技术及其在实际应用中的挑战与前景

目录 摘要: 第一章:引言 1.1 研究背景 1.2 研究目的与意义...

Linux虚拟机环境搭建spark

Linux环境搭建Spark分为两个版本&#xff0c;分别是Scala版本和Python版本。 一、 安装Pyspark 本环境以 Python 环境为例。 1、下载spark 下载网址&#xff1a;https://archive.apache.org/dist/spark 下载安装包&#xff1a;根据自己环境选择合适版本&#xff0c;本环境…...

STL的string容器

string基本概念 string是C风格的字符串&#xff0c;本质上是一个类。 string 和 char* 的区别 char* 是一个指针&#xff1b; string是一个类&#xff0c;内部封装了 char* &#xff0c;用来管理字符串&#xff0c;是一个 char* 型的容器。 特点 string内部封装了很多成员…...

半导体工艺技术

完整内容点击&#xff1a;【半导体工艺技术】...

acwing算法提高之图论--单源最短路的扩展应用

目录 1 介绍2 训练 1 介绍 本专题用来记录使用。。。。 2 训练 题目1&#xff1a;1137选择最佳线路 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 101…...

SQLServer数据库使用Function实现根据字段内容的拼音首字母进行数据查询

实现SQL首字母查询分两步&#xff0c;第一步建Function&#xff0c;第二步引用新建的Function。 1. 首先需要自定义一个查询的Function&#xff0c;详细SQL如下&#xff1a; ALTER function [dbo].[GetDataByPY](str nvarchar(4000)) returns nvarchar(4000) as begin decla…...

Linux——信号概念与信号产生方式

目录 一、概念 二、前台进程与后台进程 1.ctrlc 2.ctrlz 三、信号的产生方式 1.键盘输入产生信号 2.系统调用发送信号 2.1 kill()函数 2.2 raise()函数 2.3 abort()函数 3.异常导致信号产生 3.1 除0异常 3.2 段错误异常 4.软件条件产生信号 4.1 管道 4.2 闹钟…...

赋值语句还能当判断条件?涨芝士了!

赋值和条件看似是C语言中毫不相关的两个概念&#xff0c;虽然实际过程中我猜测不会有太多这种不太符合常理的情况出现&#xff0c;但是现在在学习的过程中&#xff0c;为了出题而出题总是会整出一些花活出来.....这很难不让人联想起高中时一些大佬为了彰显自己的数学天赋而自己…...

数据结构 - 算法效率|时间复杂度|空间复杂度

目录 1.算法效率 2.时间复杂度 2.1定义 2.2大O渐近表示法 2.3常见时间复杂度计算举例 3.空间复杂度 3.1定义 3.2常见空间复杂度计算举例 1.算法效率 算法的效率常用算法复杂度来衡量&#xff0c;算法复杂度描述了算法在输入数据规模变化时&#xff0c;其运行时间和空间…...

接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送

接口自动化之 Jenkins Allure报告生成 企微消息通知推送 在jenkins上部署好项目&#xff0c;构建成功后&#xff0c;希望可以把生成的报告&#xff0c;以及结果统计发送至企微。 效果图&#xff1a; 实现如下。 1、生成allure报告 a. 首先在Jenkins插件管理中&#x…...

『Apisix安全篇』探索Apache APISIX身份认证插件:从基础到实战

&#x1f680;『Apisix系列文章』探索新一代微服务体系下的API管理新范式与最佳实践 【点击此跳转】 &#x1f4e3;读完这篇文章里你能收获到 &#x1f6e0;️ 了解APISIX身份认证的重要性和基本概念&#xff0c;以及如何在微服务架构中实施API安全。&#x1f511; 学习如何使…...

【01-20】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

【01-20】计算机网络基础知识&#xff08;非常详细&#xff09;从零基础入门到精通&#xff0c;看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用1、OSI 的七层模型分别是&#xff1f;各自的功能是什么&#xff1f;2、说一下一次完整的HTTP请求…...

『大模型笔记』常见的分布式并行策略(分布式训练)

常见的分布式并行策略(分布式训练) 文章目录 一. 为什么分布式训练越来越流行二. 常见的并行策略2.1 数据并行2.2 模型并行2.3 流水并行2.4 混合并行二. 参考文献一. 为什么分布式训练越来越流行 近年来,深度学习被广泛应用到各个领域,包括计算机视觉、语言理解、语音识别、广…...

java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ 可定制化

工程项目管理软件是现代项目管理中不可或缺的工具&#xff0c;它能够帮助项目团队更高效地组织和协调工作。本文将介绍一款功能强大的工程项目管理软件&#xff0c;该软件采用先进的Vue、Uniapp、Layui等技术框架&#xff0c;涵盖了项目策划决策、规划设计、施工建设到竣工交付…...

3D数据格式导出工具HOOPS Publish如何生成高质量3D PDF?

在当今数字化时代&#xff0c;从建筑设计到制造业&#xff0c;从医学领域到电子游戏开发&#xff0c;3D技术已经成为了不可或缺的一部分。在这个进程中&#xff0c;将3D模型导出为3D PDF格式具有重要的意义。同时&#xff0c;HOOPS Publish作为一个领先的解决方案&#xff0c;为…...

【springboot】闲话 springboot 的几种异步机制 及 长轮询的概念和简单实现

文章目录 引子springboot的几种异步形式开启异步支持和线程池配置&#xff08;重要&#xff09;第一种&#xff1a;Async第二种&#xff1a;Callable<T>第三种&#xff1a;WebAsyncTask<T>第四种&#xff1a;DeferredResult<T> 长轮询的简单实现概念实现服务…...

Mysql---安全值守常用语句

文章目录 目录 文章目录 一.用户权限设置 用户设置 元数据查询 Union联合查询 分组查询 字符串函数 总结 一.用户权限设置 用户设置 #用户创建 create user "用户名""%主机名" identified by "密码" #用户删除 drop user 用户名 #用户查询…...

containerd快速安装指南

1 containerd快速安装指南&#x1f680; 本指南旨在提供一个简洁有效的方法来安装containerd。我们将通过一份易于理解的脚本步骤&#xff0c;指导您完成安装&#x1f527;。请根据您的实际需求&#xff0c;适当调整containerd版本及其相关依赖。 注意事项&#xff1a; 本安装…...

Javascript - 正则表达式相关的一些基础的范例

很久以前的一些学习资料&#xff0c;归档发布&#xff1b; 正则表达式的基础&#xff0c;以HTML代码来示范&#xff1a; <html><head><title></title><script language"javascript">function test(){//从页面要求客户输入一个字符串…...

JUC:线程活跃性(死锁、活锁、饥饿)

文章目录 线程活跃性死锁活锁解饿 线程活跃性 死锁 两个线程相互等待对方已拥有的锁&#xff0c;就会相互一直等待&#xff0c;不会停止。 t1拥有a锁&#xff0c;等待b锁。 t2拥有b锁&#xff0c;等待a锁。 Slf4j(topic "c.Test3") public class st3 {public st…...

RGB到灰度图像的转换原理及例程

RGB到灰度图像的转换是一种常用的图像处理操作&#xff0c;其原理是根据人眼对不同颜色的敏感度&#xff0c;将彩色图像的红、绿、蓝三个通道的像素值按照一定权重进行加权平均&#xff0c;得到灰度图像的像素值。 在RGB图像中&#xff0c;每个像素点由红、绿、蓝三个分量组成…...

PCA+DBO+DBSCN聚类,蜣螂优化算法DBO优化DBSCN聚类,适合学习,也适合发paper!

PCADBODBSCN聚类&#xff0c;蜣螂优化算法DBO优化DBSCN聚类&#xff0c;适合学习&#xff0c;也适合发paper&#xff01; 一、蜣螂优化算法 摘要&#xff1a;受蜣螂滚球、跳舞、觅食、偷窃和繁殖等行为的启发&#xff0c;提出了一种新的基于种群的优化算法(Dung Beetle Optim…...

创建数据库与表单以及管理表单和数据

一、用于创建数据库的命令以及作用 命令作用CREATE DATABASE 数据库名称创建新的数据库DESCRIBE 表单名称描述表单UPDATE 表单名称SET attribute新值WHERE attribute>原始值更新表单中的数据USE 数据库名称指定使用的数据库SHOW databases显示当前已有的数据库SHOW tables显…...

Milvus+ATTU环境搭建

1.使用Docker Compose安装Milvus Standalone 下载安装单机版milvus向量数据库 https://milvus.io/docs/install_standalone-docker.md wget https://github.com/milvus-io/milvus/releases/download/v2.2.12/milvus-standalone-docker-compose.yml -O docker-compose.yml sud…...

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果 一、简单介绍 二、简单图像浮雕效果实现原理 三、简单水彩画效果案例实现简单步骤 四、注意事项…...

wordpress facebook login/谷歌外链工具

两个节点&#xff0c;都可以更新数据&#xff0c;并且互为主从&#xff0c;容易产生的问题&#xff1a;数据不一致&#xff1b;因此慎用&#xff0c;考虑要点&#xff1a;自动增长id&#xff0c;配置一个节点使用奇数id 主主复制的配置步骤&#xff1a; (1) 各节点使用一个惟一…...

wordpress手机菜单/营销失败案例分析

GO语法简单小结&#xff08;一&#xff09;1、 for循环中“ _, ”的用法&#xff1f;2、 Result()3、 转义字符转和原始字符串1、 for循环中“ _, ”的用法&#xff1f; for _, node : range c.nodesfor key, value : range []int{1, 2, 3, 4} {fmt.Printf("key:%d valu…...

书怎么做pdf下载网站/微信推广文案

NULL 只能作为指针变量的值.如果1个指针变量的值是NULL值代表.代表这个指针不指向内存中的任何1块空间 NULL其实等价于0 NULL其实是1个宏.就是0 2. nil 只能作为指针变量的值.代表这个指针变量不指向内存中的任何空间. nil其实也等价于0也是1个宏.就是0. 所以, NULL和nil其实…...

网站建设推广文案/百度浏览器app下载

前言 在深入之前先了解下下ReentrantLock 和 Condition: 重入锁ReentrantLock: ReentrantLock锁在同一个时间点只能被一个线程锁持有&#xff1b;而可重入的意思是&#xff0c;ReentrantLock锁&#xff0c;可以被单个线程多次获取。 ReentrantLock分为“公平锁”和“非公平锁”…...

微信小程序开发实例教程/seo公司网站推广

In the given example, we are printing the messages by using different forms of the print() method in Python. 在给定的示例中&#xff0c;我们通过使用Python中不同形式的print()方法来打印消息。 Consider the program: 考虑该程序&#xff1a; # it will print new …...

长安网站建设好吗/互联网金融

2019独角兽企业重金招聘Python工程师标准>>> 一、 整体诉说&#xff1a; 1.ArrayList是不固定的&#xff0c;比如用sql查询数据库&#xff0c;不知道有多少记录返回&#xff0c;用Arraylist。 2.HashMap/Hashtable 和 Vector/ArrayList 都是放一组对象&#xff0c;…...