LeetCode 2595.奇偶位数:位运算
【LetMeFly】2595.奇偶位数:位运算
力扣题目链接:https://leetcode.cn/problems/number-of-even-and-odd-bits/
给你一个 正 整数 n 。
用 even 表示在 n 的二进制形式(下标从 0 开始)中值为 1 的偶数下标的个数。
用 odd 表示在 n 的二进制形式(下标从 0 开始)中值为 1 的奇数下标的个数。
返回整数数组 answer ,其中 answer = [even, odd] 。
示例 1:
输入:n = 17 输出:[2,0] 解释:17 的二进制形式是 10001 。 下标 0 和 下标 4 对应的值为 1 。 共有 2 个偶数下标,0 个奇数下标。
示例 2:
输入:n = 2 输出:[0,1] 解释:2 的二进制形式是 10 。 下标 1 对应的值为 1 。 共有 0 个偶数下标,1 个奇数下标。
提示:
1 <= n <= 1000
解题方法:位运算
解决这道题需要解决三个问题:
-
如何取出 n n n的最低位?
n & 1即可 -
如何移除 n n n的最低为?
直接右移
n >>= 1即可 -
如何变换奇偶下标?
布尔类型
index = !index或整型index ^= 1都可
- 时间复杂度 O ( log ( n ) ) O(\log(n)) O(log(n))。 log 1024 = 10 \log 1024=10 log1024=10,运算次数很低。
- 空间复杂度 O ( 1 ) O(1) O(1)
AC代码
C++
/** @Author: LetMeFly* @Date: 2025-02-20 11:04:55* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-02-20 11:06:12*/
class Solution {
public:vector<int> evenOddBit(int n) {vector<int> ans(2);bool index = false;while (n) {ans[index] += n & 1;index = !index;n >>= 1;}return ans;}
};
Python
'''
Author: LetMeFly
Date: 2025-02-20 11:06:38
LastEditors: LetMeFly.xyz
LastEditTime: 2025-02-20 11:08:51
'''
from typing import Listclass Solution:def evenOddBit(self, n: int) -> List[int]:ans = [0, 0]index = Falsewhile n:ans[index] += n & 1index = not indexn >>= 1return ans
Java
/** @Author: LetMeFly* @Date: 2025-02-20 11:06:42* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-02-20 11:10:57*/
class Solution {public int[] evenOddBit(int n) {int[] ans = new int[2];int index = 0;while (n > 0) {ans[index] += n & 1;index ^= 1;n >>= 1;}return ans;}
}
Go
/** @Author: LetMeFly* @Date: 2025-02-20 11:06:49* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-02-20 11:18:27*/
package mainfunc evenOddBit(n int) []int {ans := make([]int, 2)for index := 0; n > 0; n >>= 1 {ans[index] += n & 1index ^= 1}return ans
}
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
千篇源码题解已开源
Tisfy:https://blog.letmefly.xyz/2025/02/20/LeetCode 2595.奇偶位数/
相关文章:
LeetCode 2595.奇偶位数:位运算
【LetMeFly】2595.奇偶位数:位运算 力扣题目链接:https://leetcode.cn/problems/number-of-even-and-odd-bits/ 给你一个 正 整数 n 。 用 even 表示在 n 的二进制形式(下标从 0 开始)中值为 1 的偶数下标的个数。 用 odd 表示…...
一周学会Flask3 Python Web开发-response响应格式
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在HTTP响应中,数据可以通过多种格式传输。大多数情况下,我们会使用HTML格式,这也是Flask中…...
uni-app开发app时 使用uni.chooseLocation遇到的问题
问题一:不显示 问题二:选择地址列表一直在加载中 因为 uni-app 接口文档 中已经说明,使用腾讯的话需要开启云服务,具体可看官网,这就是为什么使用时直接不显示的原因,所以我使用的高德,但又出现…...
Android Hal AIDL 简介 (一)
Android 接口定义语言 (AIDL) 是一款可供用户用来抽象化 IPC 的工具。 以在 .aidl 文件中指定的接口为例,各种构建系统都会使用 aidl 二进制文件构造 C++ 或 Java 绑定,以便跨进程使用该接口(无论其运行时环境或位数如何)。 AIDL 可以在 Android 中的任何进程之间使用:在…...
鸿蒙初学者学习手册(HarmonyOSNext_API14)_组件截图(@ohos.arkui.componentSnapshot (组件截图) )
前言: 这个模块可以截取组件的图片,无论组件是否已加载。截图只能拍到组件本身的大小区域。 如果组件或其子组件画得超出了自己的区域,超出的部分不会出现在截图中。截图不会拍到与当前组件平级的(兄弟)组件。 模块简…...
华为昇腾910b服务器部署DeepSeek翻车现场
最近到祸一台HUAWEI Kunpeng 920 5250,先看看配置。之前是部署的讯飞大模型,发现资源利用率太低了。把5台减少到3台,就出了他 硬件配置信息 基本硬件信息 按照惯例先来看看配置。一共3块盘,500G的系统盘, 2块3T固态…...
[展示]Webrtc NoiseSuppressor降噪模块嵌入式平台移植
最近在尝试把WebRtc的NoiseSuppressor模块移植到嵌入式平台,现在已经移植了,尝试了下效果,降噪效果很显著,噪声带被显著抑制了 降噪前: 降噪后:...
golang内存泄漏
golang也用了好几年了,趁着有空 整理归纳下,以后忘了好看下 一般认为 Go 10次内存泄漏,8次goroutine泄漏,1次是真正内存泄漏,还有1次是cgo导致的内存泄漏 1:环境 go1.20 win10 2:goroutine泄漏 单个Goroutine占用内存&…...
安科瑞能源物联网平台助力企业实现绿色低碳转型
安科瑞顾强 随着全球能源结构的转型和“双碳”目标的推进,能源管理正朝着智能化、数字化的方向快速发展。安科瑞电气股份有限公司推出的微电网智慧能源管理平台(EMS 3.0),正是这一趋势下的创新解决方案。该平台集成了物联网&…...
Android Http-server 本地 web 服务
时间:2025年2月16日 地点:深圳.前海湾 需求 我们都知道 webview 可加载 URI,他有自己的协议 scheme: content:// 标识数据由 Content Provider 管理file:// 本地文件 http:// 网络资源 特别的,如果你想直接…...
腾讯的webUI怎样实现deepseek外部调用 ; 腾讯云通过API怎样调用deepseek
腾讯的webUI怎样实现deepseek外部调用 目录 腾讯的webUI怎样实现deepseek外部调用腾讯云通过API怎样调用deepseekhtml方式curl方式python方式腾讯云通过API怎样调用deepseek 重点说明:不需要SK,仅仅使用ip和端口号 html方式 <!DOCTYPE html> <html lang="e…...
DeepSeek VS ChatGPT-速度、准确性和成本
撰写本文时马斯克刚刚发布了聊天机器人Grok2,10万张算卡体现了马斯克的财大气粗。近年来,人工智能模型取得了长足的发展,每个模型都力求在速度、准确性和成本效率方面超越其他模型。在本文中,我将深入研究比较中美在AI的焦点模型上…...
内外网隔离文件传输解决方案|系统与钉钉集成+等保合规,安全提升70%
一、背景与痛点 在内外网隔离的企业网络环境中,员工与外部协作伙伴(如钉钉用户)的文件传输面临以下挑战: 1. **安全性风险**:内外网直连可能导致病毒传播、数据泄露。 2. **操作繁琐**:传统方式需频繁切…...
Linux基础开发工具的使用(apt、vim、gcc、g++、gdb、make、makefile)
Linux软件包管理器–apt Linux安装软件的方式 在Linux下安装软件的方法有以下三种: 下载到程序的源代码,自己编译出可执行程序获取deb安装包、然后使用dpkg命令安装。(不解决依赖关系)通过apt进行安装软件。 小知识点…...
最新版IDEA下载安装教程
一、下载IDEA 点击前往官网下载 或者去网盘下载 点击前往百度网盘下载 点击前往夸克网盘下载 进去后点击IDEA 然后点击Download 选择自己电脑对应的系统 点击下载 等待下载即可 二、安装IDEA 下载好后双击应用程序 点击下一步 选择好安装目录后点击下一步 勾选这两项后点击…...
MacOS 15.3 卸载系统内置软件
1、关闭系统完整性(SIP) 进入恢复模式(recovery) 如果您使用的是黑苹果或者白苹果,可以选择 重启按住CommandR 进入,如果是M系列芯片,长按开机键,进入硬盘选择界面进入。 我是MacMini M4芯片,关…...
发现问题 python3.6.13+django3.2.5 只能以asgi启动server 如何解决当前问题
在 Python 3.6.13 和 Django 3.2.5 的组合下,如果你发现只能使用 ASGI 启动 Django 服务,而不能使用 WSGI,可能的原因有几个。我们来分析一下常见的问题和解决方案。 1. 默认 ASGI 支持 从 Django 3.0 开始,Django 引入了对 ASG…...
python3+TensorFlow 2.x(六)自编码器
自动编码器 自动编码器(Autoencoder)是一种无监督学习算法,主要用于数据降维、特征学习和数据生成等任务。它由编码器和解码器组成,目标是将输入数据压缩为低维表示(编码),然后再从这个低维表示…...
Redis-AOF
AOF 前言什么是AOF执行后写入的好处避免额外的检查开销不会阻塞当前写操作命令的执行 潜在风险数据丢失阻塞下一个命令 三种写回策略AOF重写机制AOF后台重写数据副本的生成写时复制写时复制的阻塞问题 AOF重写缓冲区子进程重写期间工作内容 总结 前言 RDB方式不能提供强一致性…...
【DeepSeek】本地部署,保姆级教程
deepseek网站链接传送门:DeepSeek 在这里主要介绍DeepSeek的两种部署方法,一种是调用API,一种是本地部署。 一、API调用 1.进入网址Cherry Studio - 全能的AI助手选择立即下载 2.安装时位置建议放在其他盘,不要放c盘 3.进入软件后…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
