首页 > 编程语言 >10.20算法

10.20算法

时间:2023-10-20 09:55:25浏览次数:31  
标签:10.20 示例 二进制 res 符号 整数 算法 输入

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

 

提示:

请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 3 中,输入表示有符号整数 -3。
 

示例 1:

输入:n = 00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。
示例 2:

输入:n = 00000000000000000000000010000000
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 '1'。
示例 3:

输入:n = 11111111111111111111111111111101
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 '1'。
 

提示:

输入必须是长度为 32 的 二进制串 。
 

进阶:

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

    int res =0;     while(n!=0){         if(n & 0x1){             res++;         }         n >>= 1;     }     return res;   关键:n&0x1判断最后一位是否为1

标签:10.20,示例,二进制,res,符号,整数,算法,输入
From: https://www.cnblogs.com/minipython-wldx/p/17776354.html

相关文章

  • 智能优化算法第一次实验
    智能优化算法第一次实验一、实验目的(1)掌握梯度下降法的基础知识及其应用过程;(2)利用梯度下降法求解简单优化问题。二、实验原理梯度下降法是一种最优化算法,由于函数在该点梯度的模代表着函数值在该点最大的变化率,我们可以让函数沿着梯度方向迭代移动逼近函数最值,这就是梯......
  • [刷题笔记] [算法学习笔记]树上差分 -- Luogu P3128
    DescriptionProblem:https://www.luogu.com.cn/problem/P3128FJ给他的牛棚的\(N\)个隔间之间安装了\(N-1\)根管道,隔间编号从\(1\)到\(N\)。所有隔间都被管道连通了。FJ有\(K\)条运输牛奶的路线,第\(i\)条路线从隔间\(s_i\)运输到隔间\(t_i\)。一条运输路线会给......
  • R语言改进的K-Means(K-均值)聚类算法分析股票盈利能力和可视化|附代码数据
    全文链接:http://tecdat.cn/?p=32418原文出处:拓端数据部落公众号大量数据中具有"相似"特征的数据点或样本划分为一个类别。聚类分析提供了样本集在非监督模式下的类别划分。人们在投资时总期望以最小的风险获取最大的利益,面对庞大的股票市场和繁杂的股票数据,要想对股票进行合理......
  • 智慧矿山:开启未来!智能算法助力智慧矿山运料车自动开门!
    智慧矿山是指借助先进的信息技术手段,实现对矿山生产过程的全面自动化和智能化管理。在智慧矿山建设中,如何提高生产效率是一个重要的课题。本文将介绍如何利用运料车识别和门状态识别的AI算法来为运料车实现自动开门,从而提高智慧矿山的生产效率。运料车是矿山中常见的物料运输工具,通......
  • 图及相关算法
    图准备找实习了,把忘了的东西从头捡一捡基本实现大一时候有个特别蠢的问题,一直老想为什么不内置图的实现,现在想想真是蠢到家了……Go语言实现无向无环图import"fmt"//ImplmentbyadjacencymatrixtypegraphadjMatstruct{ vertices[]int adjMat[][]int}funcn......
  • 算法训练day37 LeetCode860.406.452.
    算法训练day37LeetCode860.406.452.860.柠檬水找零题目860.柠檬水找零-力扣(LeetCode)题解代码随想录(programmercarl.com)5:收五元10:收十元,返五元20:优先还十元+五元;否则还五元*3classSolution{public:boollemonadeChange(vector<int>&bills)......
  • 文心一言 VS 讯飞星火 VS chatgpt (116)-- 算法导论10.3 1题
    一、用go语言,画图表示序列(13,4,8,19,5,11),其存储形式为多数组表示的双向链表。同样画出单数组表示的形式。文心一言:在Go语言中,我们无法直接画图,但我可以帮助你描述如何使用Go语言来表示和操作多数组表示的双向链表和单数组表示。首先,多数组表示的双向链表可以表示为以下的数据结构:......
  • C#基数排序算法
    前言基数排序是一种非比较性排序算法,它通过将待排序的数据拆分成多个数字位进行排序。实现原理首先找出待排序数组中的最大值,并确定排序的位数。从最低位(个位)开始,按照个位数的大小进行桶排序,将元素放入对应的桶中。将各个桶中的元素按照存放顺序依次取出,组成新的数组。接着......
  • 希尔排序:优化插入排序的精妙算法
    排序算法在计算机科学中扮演着重要的角色,其中希尔排序(ShellSort)是一种经典的排序算法。本文将带您深入了解希尔排序,包括其工作原理、性能分析以及如何使用Java进行实现。什么是希尔排序?希尔排序,又称“缩小增量排序”,是插入排序的一种改进版本。它的核心思想是通过逐步缩小增量值......
  • TSINGSEE烟火识别算法的技术原理是什么?如何应用在视频监控中?
    AI烟火识别算法是基于深度学习技术的一种视觉识别算法,主要用于在视频监控场景中自动检测和识别烟雾、火焰的行为。该技术基于深度学习神经网络技术,可以动态识别烟雾和火焰从有到无、从小到大、从大到小、从小烟到浓烟的状态转换过程。1、技术原理1)数据采集与准备:首先需要采集大量带......