《劍指offer》-算法篇-位運算

題目

  1. 二進制中“1”的個數

代碼實現

二進制中“1”的個數

題目描述:輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。

思路:求“1”的個數等價于求n-1與n進行“與”運算后不等于0所需要的運算次數。注意:這里的整數可能是負的,補碼的形式中的最高位是“1”,這樣會導致無限循環。因而,根據一般的機器的運算的位數(32位),需要將負數的補碼形式乘以0xffffffff,再判斷while循環的條件。

# -*- coding:utf-8 -*-
class Solution:def NumberOf1(self, n):# write herecount = 0if n < 0:n = n & 0xffffffff#對于負數,二進制的第一位是1,因而,會使得while條件判斷是死循環。#為此,設置了n<0的判斷條件,將n看做是一個有符號的數。#而且,對于Python,整數的表示位數是不受限制的,具體顯示的大小會受到#機器的限制,一般位數是32位。while n:count += 1n = (n - 1) & nreturn count

擴展題目:Leetcode中的第191題(位1的個數 https://leetcode-cn.com/problems/number-of-1-bits/)

題目描述:編寫一個函數,輸入是一個無符號整數,返回其二進制表達式中數字位數為 ‘1’ 的個數

區別在于:輸入是一個無符號整數,除去對負數的判斷,其余部分是一樣的。

結尾

親愛的讀者朋友:感謝您在繁忙中駐足閱讀本期內容!您的到來是對我們最大的支持??

正如古語所言:"當局者迷,旁觀者清"。您獨到的見解與客觀評價,恰似一盞明燈💡,能幫助我們照亮內容盲區,讓未來的創作更加貼近您的需求。

若此文給您帶來啟發或收獲,不妨通過以下方式為彼此搭建一座橋梁: ? 點擊右上角【點贊】圖標,讓好內容被更多人看見 ? 滑動屏幕【收藏】本篇,便于隨時查閱回味 ? 在評論區留下您的真知灼見,讓我們共同碰撞思維的火花

我始終秉持匠心精神,以鍵盤為犁鏵深耕知識沃土💻,用每一次敲擊傳遞專業價值,不斷優化內容呈現形式,力求為您打造沉浸式的閱讀盛宴📚。

有任何疑問或建議?評論區就是我們的連心橋!您的每一條留言我都將認真研讀,并在24小時內回復解答📝。

愿我們攜手同行,在知識的雨林中茁壯成長🌳,共享思想綻放的甘甜果實。下期相遇時,期待看到您智慧的評論與閃亮的點贊身影?!

萬分感謝🙏🙏您的點贊👍👍、收藏?🌟、評論💬🗯?、關注??💚~


自我介紹:一線互聯網大廠資深算法研發(工作6年+),4年以上招聘面試官經驗(一二面面試官,面試候選人400+),深諳崗位專業知識、技能雷達圖,已累計輔導15+求職者順利入職大中型互聯網公司。熟練掌握大模型、NLP、搜索、推薦、數據挖掘算法和優化,提供面試輔導、專業知識入門到進階輔導等定制化需求等服務,助力您順利完成學習和求職之旅(有需要者可私信聯系)?

友友們,自己的知乎賬號為“快樂星球”,定期更新技術文章,敬請關注!?????

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

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

相關文章

項目上線中的跨域問題

本文將深入解析跨域問題的本質&#xff0c;并提供實用的解決方案。引言 跨域問題可以說是前端開發者的"老朋友"了&#xff0c;特別是在項目從開發環境遷移到生產環境時&#xff0c;這個問題更是頻繁出現。許多開發者對跨域的理解停留在表面&#xff0c;導致在項目上線…

dubbo應用之3.0新特性(響應式編程)(2)

一、介紹 Dubbo 3.0 的響應式編程基于 Triple 協議和 Reactor/RxJava 實現,支持全鏈路異步非阻塞通信。它通過引入 Mono、Flux 等響應式類型,打通跨進程的數據流式傳輸,天然支持反壓、限流等控制能力。相比傳統基于 CompletableFuture 的異步方式,響應式編程更適用于高并發…

力扣-22.括號生成

題目鏈接 22.括號生成 class Solution {List<String> res new ArrayList<>();StringBuilder path new StringBuilder();void backtracking(int n, int left, int right) {if (left right 2 * n) {res.add(path.toString());return;}if (left < n) {path.a…

架構實戰——互聯網架構模板(“網絡層”技術)

目錄 一、負載均衡 1.1、DNS 1.1.1、DNS 負載均衡的優點 1.1.2、DNS 負載均衡的缺點 1.2、Nginx 、LVS 、F5 1.2.1、軟件和硬件的區別 1.2.2、4 層和 7 層的區別 二、CDN 三、多機房 3.1、同城多機房 3.2、跨城多機房 3.3、跨國多機房 四、多中心 本文來源:極客時間vip課程筆記…

TCP/IP 網絡編程面試題及解答

在Qt/C面試中&#xff0c;若涉及“熟悉TCP/IP網絡編程”&#xff0c;面試官通常會結合TCP/IP協議基礎、Qt網絡編程框架&#xff08;如Qt Network模塊&#xff09;、C網絡編程實現以及實際場景問題來提問。以下是常見面試題及解答&#xff1a; 一、TCP/IP協議基礎 1. TCP和UDP的…

unity開發中Hash、Queue、LinkedList簡單介紹

在Unity游戲開發中&#xff0c;除了Dictionary和List外&#xff0c;以下三種數據結構能高效解決特定問題場景&#xff1a;1. HashSet<T>&#xff1a;閃電級存在性檢查 核心特點&#xff1a;基于哈希表實現的高效集合&#xff0c;元素唯一且無視順序 優勢&#xff1a; O(1…

智慧園區:科技與生活的完美融合

在城市的喧囂中&#xff0c;我們常常渴望一片寧靜而充滿活力的綠洲。如今&#xff0c;隨著科技的飛速發展&#xff0c;智慧園區應運而生&#xff0c;它不僅滿足了我們對美好生活的向往&#xff0c;更以其獨特的魅力&#xff0c;成為現代城市中一道亮麗的風景線。今天&#xff0…

繼續打卡day6

383. 贖金信 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool canConstruct(string ransomNote, string magazine) {unordered_map<char, int> us;for(auto c: ransomNote){us[c]; // 將字符串存儲}for(auto c: magazine){if(us.count(c)){us[c]-…

LIMA:大語言模型對齊的“少即是多”革命——原理、實驗與范式重構

“千樣本激活千億參數&#xff1a;重新定義大模型對齊的本質” LIMA&#xff08;Less Is More for Alignment&#xff09; 是由 Meta AI 聯合 卡內基梅隆大學 等機構于 2023年 提出的突破性大模型對齊框架&#xff0c;其核心顛覆了傳統對齊需海量數據的認知&#xff0c;證明僅用…

vite.config.js常用配置

vite.config.js常用配置 import { defineConfig } from vite import { resolve } from "path"; import vue from vitejs/plugin-vueexport default defineConfig({plugins: [vue(), ], // 配置需要使用的插件列表base: ./, // 在生產中服務時的基本公共路徑publicD…

JVM知識點(2)

目錄 Java中可作為GC Roots的引用有哪幾種&#xff1f; finalize方法 垃圾回收算法 標記-清除 標記-復制 標記-整理 分代收集算法 為什么要用分代收集 標記復制的標記過程和復制會不會停頓 MinorGC&#xff0c;MajorGC&#xff0c;MixedGC&#xff0c;FullGC FullGC…

Java HashMap中的compute及相關方法詳解:從基礎到Kafka Stream應用

HashMap是Java集合框架中最常用的數據結構之一&#xff0c;它提供了高效的鍵值對存儲和檢索功能。在Java8中&#xff0c;HashMap引入了一系列新的原子性更新方法&#xff0c;包括compute()、computeIfAbsent()和computeIfPresent()等&#xff0c;這些方法極大地簡化了在Map中進…

【php中ssti模板注入講解】

php中場景模板 1. Smarty 使用安全模式來執行不信任的模板,只運行PHP白名單里的函數。 2. Twig 與Smarty類似,不過無法利用該模板的SSTI調用靜函數。 php常見模板入門 Smarty 不使用預先準備好的模板 使用預先準備好的模板 對值進行拼接后使用模板展示 設置在模板中…

Redis學習07-Redis的過期策略

Redis 過期策略 什么是過期策略 Redis 的過期策略用于管理設置了過期時間&#xff08;TTL&#xff09;的鍵&#xff0c;確保在鍵過期后能夠被及時刪除&#xff0c;從而釋放內存 整體策略 Redis 采用的是定期刪除惰性刪除的組合策略 1. 定期刪除 原理&#xff1a;周期性的從過期…

深入解讀c++(命名空間)

目錄 1關于命名空間 1.1是什么 1.2解決了什么問題 2.命名空間的定義 2.2命名空間的嵌套定義 3命名空間的特點 3.1命名空間不會影響生命周期 3.2命名空間只能在全局域里定義&#xff0c;當然嵌套定義時例外。 3.3在不同文件中定義相同名稱的命名空間 4.命名空間的使用 …

ClickHouse高性能實時分析數據庫-高性能的模式設計

告別等待&#xff0c;秒級響應&#xff01;這不只是教程&#xff0c;這是你駕馭PB級數據的超能力&#xff01;我的ClickHouse視頻課&#xff0c;凝練十年實戰精華&#xff0c;從入門到精通&#xff0c;從單機到集群。點開它&#xff0c;讓數據處理速度快到飛起&#xff0c;讓你…

ArkTS懶加載LazyForEach的基本使用

在 ArkTS 的開發中&#xff0c;如果你要渲染一個很長的列表&#xff0c;比如商品列表、評論列表或者朋友圈動態&#xff0c;用傳統的循環結構&#xff08;比如 ForEach&#xff09;很容易導致性能問題&#xff0c;尤其是加載慢、卡頓甚至內存暴漲。 這時候就要用到 懶加載渲染組…

動態規劃:從入門到精通

本文全章節一共一萬七千多字&#xff0c;詳細介紹動態規劃基礎與進階技巧&#xff0c;全篇以代碼為主&#xff0c;認真讀完理解&#xff0c;你對動態規劃的理解一定會有一個質的飛躍。一、動態規劃簡介: 動態規劃&#xff08;Dynamic Programming&#xff0c;簡稱DP&…

八股訓練營 40 天心得:一場結束,也是一場新的開始

八股訓練營 40 天心得&#xff1a;一場結束&#xff0c;也是一場新的開始 感謝卡哥的訓練營組織卡碼筆記&#xff0c;對即將參加秋招的我們幫助了很多&#xff0c;感謝卡哥的開源代碼隨想錄代碼隨想錄 四十天前&#xff0c;我帶著一顆不安卻堅定的心&#xff0c;踏入了這場“…

STM32系統定時器(SysTick)詳解:從原理到實戰的精確延時與任務調度

前言&#xff1a;為什么SysTick是嵌入式開發的"瑞士軍刀"&#xff1f; 在STM32開發中&#xff0c;我們經常需要精確的延時功能&#xff08;如毫秒級延時控制LED閃爍&#xff09;或周期性任務調度&#xff08;如定時采集傳感器數據&#xff09;。實現這些功能的方式有…