【LeetCode】每日一题 2024_11_2 使两个整数相等的位更改次数(位运算/模拟)

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

题目:使两个整数相等的位更改次数

代码与解题思路

先读题:

题目要我们把 n 这个数字转换成 k 这个数字,但是只能是二进制位 1 转换成 0

纯模拟的解法:

func minChanges(n int, k int) (ans int) {for n > 0 {// 选择 n 的 二进制表示 中任意一个值为 1 的位,并将其改为 0if n&1 == 1 {if k == 0 || k&1 == 0 {ans++}}// 假如 k > n,或者出现 n 的位是 0 而 k 的位是 1 的情况,返回 -1if k > n || k > 0 && n&1 == 0 && k&1 == 1 {return -1}n >>= 1k >>= 1}return ans
}

位运算的解法:

n&k != k,假如出现有二进制位 n 是 0,k 是 1 的情况, n&k 就不等于 k,可以用来直接判断是否返回 -1

bits.OnesCount 能找到二进制位是 1 的数量,按位异或,相同为 0,相异为 1

func minChanges(n, k int) int {if n&k != k {return -1}return bits.OnesCount(uint(n ^ k))
}

每天进步一点点,我们明天不见不散~

可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/7672.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024 开源社年度评选

开源社(英文名称为“KAIYUANSHE”)成立于2014年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球&am…

【MATLAB源码-第204期】基于matlab的语音降噪算法对比仿真,谱减法、维纳滤波法、自适应滤波法;参数可调。

操作环境: MATLAB 2022a 1、算法描述 语音降噪技术的目的是改善语音信号的质量,通过减少或消除背景噪声,使得语音更清晰,便于听者理解或进一步的语音处理任务,如语音识别和语音通讯。在许多实际应用中,如…

C语言 | Leetcode C语言题解之第542题01矩阵

题目: 题解: /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/ type…

[SWPUCTF 2022 新生赛]Power! 反序列化详细题解

知识点: PHP反序列化(执行顺序) 构造POP链 代码审计 题目主页: 输入框可以输入内容,习惯性先查看一下页面的源代码,收集信息 发现源码中有提示参数source 先不急,再看一下其他信息 是apache服务器,php版本为7.4.30 url传参 ?sourceindex.php 回显了index.php的源码 …

docker下迁移elasticsearch的问题与解决方案

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 docker下迁移elasticsearch的问题与解决方案 数据挂载报错解决权限问题节点故障 直接上图&#x…

Spark 的介绍与搭建:从理论到实践

目录 一、分布式的思想 (一)存储 (二)计算 二、Spark 简介 (一)发展历程 (二)Spark 能做什么? (三)spark 的组成部分 (四&…

Python GUI 编程:tkinter 初学者入门指南——微调框

在本教程中,将介绍如何创建 Tkinter Spinbox 微调框小部件。 Python 中 Tkinter 中的 Spinbox 小部件用于从指定的给定值范围内选择一个值。 此外,可以直接在 Spinbox 小组件中输入值,就像使用单行文本框小组件一样。 要创建 Spinbox 小部件…

人保财险(外包)面试分享

前言: 这是本月面的第三家公司,太难了兄弟们,外包都不好找了,临近年底,金九银十已经错过了,金三银四虽然存在,但按照这几年的行情,金九银十和金三银四其实已经是不复存在了&#xf…

Redis - 数据库管理

Redis 提供了⼏个⾯向Redis数据库的操作,分别是dbsize、select、flushdb、flushall命令, 本机将通过具体的使⽤常⻅介绍这些命令。 一、切换数据库 select dbIndex 许多关系型数据库,例如MySQL⽀持在⼀个实例下有多个数据库存在的&#…

大数据挖掘有哪些技术要点?

大数据挖掘的主要方法和技术有:分类、聚类、关联规则、回归分析、时间序列分析、文本挖掘、社交网络分析、可视化技术等。通过大数据挖掘,企业和研究机构能够从海量数据中提取有价值的信息和知识,促进决策优化和业务创新。 一、分类 分类是大…

Python小游戏23——捕鱼达人

首先,你需要安装Pygame库。如果你还没有安装,可以使用以下命令进行安装: 【bash】 pip install pygame 运行效果展示 接下来是示例代码: 【python】 import pygame import random # 初始化Pygame pygame.init() # 屏幕尺寸 SCREEN…

项目模块十七:HttpServer模块

一、项目模块设计思路 目的:实现HTTP服务器搭建 思想:设计请求路由表,记录请求方法与对应业务的处理函数映射关系。用户实现请求方法和处理函数添加到路由表,服务器只接受请求并调用用户的处理函数即可。 处理流程: …

GS-SLAM论文阅读--High-Fidelity SLAM Using Gaussian Splatting

前言 这篇文章是几个月之前的IROS2024了,之前忘记看了,但是最近看到,觉得有一些值得参考的部分,接下来仔细阅读一下。 文章目录 前言1.背景介绍2.关键内容2.1 建图2.2 跟踪2.3总体流程 3.文章贡献 1.背景介绍 3DGS的连续建图存在…

App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)

一、App 渠道来源追踪概述 渠道来源统计/追踪,其原理都可以称之为归因,归因是用于判断用户在什么原因、什么时间、什么场景下载了 App,以及打通他们在激活 App 后进行的一系列操作(比如注册、付费、加购等)。 渠道来…

group_concat配置影响程序出bug

在 ThinkPHP 5 中,想要临时修改 MySQL 数据库的 group_concat_max_len 参数,可以使用 原生 SQL 执行 来修改该值。你可以通过 Db 类来执行 SQL 语句,从而修改会话(Session)级别的变量。 步骤 设置 group_concat_max_l…

物联网赋能的人工智能图像检测系统

一、引言 在数字化时代,物联网(IoT)技术已经成为我们生活中不可或缺的一部分,极大地优化了我们的交通出行和医疗服务。物联网的核心优势在于其卓越的连接能力,它能够构建和连接庞大的资源数据库,为智能化图…

【python笔记】os库中ctime、mtime和atime的区别

ctime Creation Time文件或目录的创建时间 返回秒级时间戳 os.path.getctime(file_path) os.stat(file_path).st_ctime 返回纳秒级时间戳 os.stat(file_path).st_ctime_ns mtime Modification Time文件或目录的最后修改时间 返回秒级时间戳 os.path.getmtime(file_path) os.sta…

3DE 知识工程 —— EKL 函数重用与功能扩展

目录 1、简介 2、EKL 函数重用 2.1 直接调用 2.2 本地库重用 2.3 全局库重用 3、EKL 功能扩展 1、简介 本文介绍两种方法以展示 EKL 更为强大的能力:一是重用 EKL 函数,二是使用 EKL 调用 VB Script 宏中的函数以扩展其功能。 2、EKL 函数重用…

【GESP】C++一级真题练习(202309)luogu-B3864,小明的幸运数

GESP一级真题练习。为2023年9月一级认证真题。应该是两道题中略难的一道。 题目题解详见:https://www.coderli.com/gesp-1-luogu-b3864/ 【GESP】C一级真题练习(202309)luogu-B3864,小明的幸运数 | OneCoderGESP一级真题练习。为2023年9月一级认证真题…

从0开始学习机器学习--Day18--评估模型

在很多时候,构建并优化完模型并不代表这个问题就被解决了。事实上,很多时候,在第一次优化结束并进行预测时,其与真实值之间的误差都会提醒你这个模型需要继续优化。那么,我们应该怎么优化它呢? 选择更多的…