【算法分析與設計】

???????📝個人主頁:五敷有你? ? ??

?🔥系列專欄:算法分析與設計

??穩中求進,曬太陽

題目

編寫一個函數,輸入是一個無符號整數(以二進制串的形式),返回其二進制表達式中數字位數為 '1' 的個數(也被稱為漢明重量)。

示例

示例 1:

輸入:n = 00000000000000000000000000001011
輸出:3
解釋:輸入的二進制串 00000000000000000000000000001011?中,共有三位為 '1'。

示例 2:

輸入:n = 00000000000000000000000010000000
輸出:1
解釋:輸入的二進制串 00000000000000000000000010000000?中,共有一位為 '1'。

示例 3:

輸入:n = 11111111111111111111111111111101
輸出:31
解釋:輸入的二進制串 11111111111111111111111111111101 中,共有 31 位為 '1'

思路

們可以直接循環檢查給定整數 nnn 的二進制位的每一位是否為 111。

具體代碼中,當檢查第i位時,我們可以讓 n 與 1左移i位? 進行與運算,當且僅當 n 的第 i 位為 1 時,運算結果不為 0。然后++

實現代碼

public class Solution {public int hammingWeight(int n) {int ret = 0;for (int i = 0; i < 32; i++) {if ((n & (1 << i)) != 0) {ret++;}}return ret;}
}

運行結果

時間復雜度O(n)

空間復雜度O(1)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697337.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697337.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697337.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何使用Express框架構建一個簡單的Web應用

在這個數字化時代&#xff0c;Web應用的需求越來越多樣化和復雜化。在前端開發領域&#xff0c;Express框架作為一個快速、靈活的Node.js Web應用程序框架&#xff0c;擁有強大的功能和豐富的生態系統&#xff0c;深受開發者們的青睞。本篇博客將帶您一步步探索如何使用Express…

AUTOSAR汽車電子嵌入式編程精講300篇-基于深度學習的車載總線網絡入侵檢測

目錄 前言 國內外研究現狀 汽車 CAN 網絡攻擊現狀 2 汽車 CAN 總線介紹及信息安全問題分析</

MR混合現實情景實訓教學系統在高空作業課堂中的應用

高空作業是一項高風險的工作&#xff0c;對于從業者來說&#xff0c;不僅需要具備專業的技能&#xff0c;還需要有豐富的實踐經驗。然而&#xff0c;傳統的課堂教學往往只能通過理論講解和模擬訓練來傳授知識&#xff0c;無法提供真實的實踐環境。而MR混合現實情景實訓教學系統…

Alias許可分析中的數據可視化

Alias許可分析中的數據可視化&#xff1a;引領企業洞察合規之道的明燈 在信息化時代&#xff0c;數據可視化已成為各行各業的重要工具&#xff0c;能夠幫助用戶直觀地理解和分析復雜的數據。在Alias許可分析中&#xff0c;數據可視化同樣發揮著至關重要的作用&#xff0c;為企…

【小程序】應用程序編程接口匯總——授權API、OTA API、家庭API

授權API ty.authorize 權限請求方法 需引入BaseKit&#xff0c;且在>1.2.10版本才可使用 參數 Object object 屬性類型默認值必填說明scopestring是scope 權限名稱 舉例子&#xff1a; scope.bluetooth 藍牙權限 scope.writePhotosAlbum 寫入相冊權限 scope.userLocatio…

知乎高贊回復合集,句句道出生活的真相

1. 怎么定義“想清楚了”&#xff1f; “想清楚了”就是以后出了什么問題&#xff0c;你只能找個沒人的地方抽自己&#xff0c;再也不能抱怨別人了。 2. “別讓孩子輸在起跑線上”有道理嗎&#xff1f; 一輩子都要和別人去比較&#xff0c;是人生悲劇的源頭。 3. 太在乎自己…

鴻蒙OS運行報錯 ‘ToDoListItem({ item })‘ does not meet UI component syntax.

在學習harmonyOS時&#xff0c;原本是好好運行的。但是突然報錯 ToDoListItem({ item }) does not meet UI component syntax. 一臉懵逼&#xff0c;以為是自己語法問題檢查了半天也沒問題。 網上搜索了一下&#xff0c;說把多余的js\map文件刪除就行 才發現我的 鴻蒙的開…

Bert基礎(四)--解碼器(上)

1 理解解碼器 假設我們想把英語句子I am good&#xff08;原句&#xff09;翻譯成法語句子Je vais bien&#xff08;目標句&#xff09;。首先&#xff0c;將原句I am good送入編碼器&#xff0c;使編碼器學習原句&#xff0c;并計算特征值。在前文中&#xff0c;我們學習了編…

代碼隨想錄算法訓練營第四十天|343. 整數拆分、96. 不同的二叉搜索樹。

343. 整數拆分 題目鏈接&#xff1a;整數拆分 題目描述&#xff1a; 給定一個正整數 n &#xff0c;將其拆分為 k 個 正整數 的和&#xff08; k > 2 &#xff09;&#xff0c;并使這些整數的乘積最大化。 返回 你可以獲得的最大乘積 。 解題思路&#xff1a; 1、確定dp數組…

flink內存管理,設置思路,oom問題,一文全

flink內存管理 1 內存分配1.1 JVM 進程總內存&#xff08;Total Process Memory&#xff09;1.2 Flink 總內存&#xff08;Total Flink Memory&#xff09;1.3 JVM 堆外內存&#xff08;JVM Off-Heap Memory&#xff09;1.4 JVM 堆內存&#xff08;JVM Heap Memory&#xff09;…

運維的利器–監控–zabbix–第二步:建設–部署zabbix agent

文章目錄 監控客戶端部署及添加主機一、在 zabbix-server 安裝客戶端二、在本機和其他linux主機安裝zabbix agent客戶端1、安裝2、配置3、啟動并開機自啟4、添加主機創建主機組創建主機等一會或重啟zabbix-server查看配置是否成功 三、在其他windows上安裝zabbix agent客戶端下…

主流的開發語言和開發環境介紹

個人淺見&#xff0c;不喜勿噴&#xff0c;謝謝 軟件開發是一個涉及多個方面的復雜過程&#xff0c;其中包括選擇合適的編程語言和開發環境。編程語言是軟件開發的核心&#xff0c;它定義了程序員用來編寫指令的語法和規則。而開發環境則提供了編寫、測試和調試代碼的工具和平臺…

Microsoft的PromptBench可以做啥?

目錄 PromptBench簡介 PromptBench的快速模型性能評估 PromptBench數據集介紹 PromptBench模型介紹 PromptBench模型加載遇到的問題 第一次在M1 Mac上加載模型 vicuna和llama系列模型 PromptBench各個模型加載情況總結 PromptBench的Prompt快速工程 chain of thought…

WebService學習,wsdl文件詳解

目錄 第一章、起因1.1&#xff09;學習原因1.2&#xff09;提問的過程&#xff08;逐步提出問題&#xff09;1、&#xff1f;wsdl鏈接的含義&#xff0c;有什么作用&#xff1f;2、什么是wsdl文檔&#xff1f;3、如何閱讀wsdl文件&#xff1f;4、wsdl文件有什么作用&#xff1f…

基于springboot+vue的智慧社區系統(前后端分離)

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

每周編輯精選|MathPile 數學推理語料庫開源、協和眼科牽頭用 AI 助力 13 種眼底疾病檢測

近日&#xff0c;上海交通大學生成式人工智能研究實驗室 (GAIR)&#xff0c;開源了專為數學領域量身定制的高質量且多樣化的預訓練數據集 MathPile&#xff0c;及其可商用版本 MathPile-Commercial&#xff0c;現在在 hyper.ai 官網可以下載啦&#xff01;還有更多如 MathVista…

(十四)【Jmeter】線程(Threads(Users))之開放模型線程組(Open Model Thread Group)

簡述 操作路徑如下: 開放模型線程組(Open Model Thread Group) 是 JMeter 5.5 版本中引入的一個新特性,它允許用戶創建具有可變負載的負載配置文件。相較于傳統的線程組,開放模型線程組提供了更多的靈活性和動態調整的能力。 優點: 靈活性:允許測試人員根據測試需求動…

python 提取PDF文字

使用pdfplumber&#xff0c;不能提取掃描的pdf和插入的圖片。 import pdfplumberfile_path rD:\UserData\admindesktop\官方文檔\1903_Mesh-Models-Overview_FINAL.pdf with pdfplumber.open(file_path) as pdf:page pdf.pages[0]print(page.extract_text()) # 所以文字prin…

Verilog刷題筆記33

題目&#xff1a; You are given a four-bit input vector in[3:0]. We want to know some relationships between each bit and its neighbour: out_both: Each bit of this output vector should indicate whether both the corresponding input bit and its neighbour to t…

Kafka3.x進階

來源&#xff1a;B站 目錄 Kafka生產者生產經驗——生產者如何提高吞吐量生產經驗——數據可靠性生產經驗——數據去重數據傳遞語義冪等性生產者事務 生產經驗——數據有序生產經驗——數據亂序 Kafka BrokerKafka Broker 工作流程Zookeeper 存儲的 Kafka 信息Kafka Broker 總…