Leetcode 3133. Minimum Array End

server/2024/10/18 10:25:43/
  • Leetcode 3133. Minimum Array End
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3133. Minimum Array End

1. 解题思路

这一题由于要求所有的array当中所有的数字的与为目标值,因此目标值当中的1的位必须保证所有的数均为1,剩下的位置只需要保证有一个0即可,因此,我们只需要取 0 0 0 n − 1 n-1 n1,将其二进制位填充到0所在的位置上即可,不够的位置则在头部补0。

也就是是说,我们就是将 n − 1 n-1 n1的二进制位顺序补到目标值所有为0的位置上即可。

2. 代码实现

给出python代码实现如下:

class Solution:def minEnd(self, n: int, x: int) -> int:move = bin(n-1)[2:]x = bin(x)[2:]idx = len(x)-1ans = []for ch in move[::-1]:while idx >= 0 and x[idx] == "1":ans.insert(0, 1)idx -= 1ans.insert(0, int(ch))if idx != -1:idx -= 1while idx >= 0:ans.insert(0, int(x[idx]))idx -= 1ret = 0for d in ans:ret = ret * 2 + dreturn ret

提交代码评测得到:耗时31ms,占用内存16.6MB。


http://www.ppmy.cn/server/39416.html

相关文章

Go 语言基础之常用包【flag、time、strconv、io】

1、命令行参数包 flag flag 包就是一个用来解析命令行参数的工具。 1.1、os.Args import ("fmt""os" )func main() {if len(os.Args) > 0 {for index, arg : range os.Args {fmt.Printf("args[%d]%v\n", index, arg)}} } 运行结果&#…

web前端笔记8

8. Less的使用 Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。Less 是一门CSS预处理语言,它扩充了CSS语言,增加了诸如变量、混合(mixin)、函数等功能,让CSS更易维护、方便制作主题、扩充。Less可以运行在Node.js或浏览器端。LESS由Alexis Sellier于…

[Flutter]创建一个私有包并使用

在Flutter中创建一个自己的私有组件(通常称为包或库),并通过Dart的包管理工具pub进行使用。 一、创建一个新的Flutter包 1.使用命令行创建 使用Flutter命令行工具来创建一个新的包: $ flutter create --templatepackage my_pri…

Vue工程化开发和脚手架Vue CLI

目录 一、介绍 二、使用步骤 1. 全局安装(一次) 2.查看Vue版本 3.创建项目架子(项目名不能使用中文) 4.启动项目 一、介绍 Vue CLI是Vue官方提供的一个全局命令工具。可以帮助我们快速创建一个开发的Vue项目的标准化基础架子…

GStreamer日志调试笔记

1、查询所有分类 #gst-launch-1.0 --gst-debug-help 2、查询videotestsrc的日志 #gst-launch-1.0 --gst-debug-help | findstr videotestsrc 结果: 3、使用--gst-debug设置相应日志类型的相应等级,越大显示日志越多,排查内存泄露可以设置为9 …

uniapp实现时间格式化输出和友好时间输出

实现时间的友好展示例如时间戳转换为年月日,或者社会友好时间例如刚刚,几小时前几分钟前等等我们只需要两个函数来搞定 <template><view>{{fromTime(1643170590)}}</view> </template> <script> export default {methods:{// 将时间戳转换为刚刚…

ue引擎游戏开发笔记(36)——为射击落点添加特效

1.需求分析&#xff1a; 在debug测试中能看到子弹落点后&#xff0c;需要给子弹添加击中特效&#xff0c;更真实也更具反馈感。 2.操作实现&#xff1a; 1.思路&#xff1a;很简单&#xff0c;类似开枪特效一样&#xff0c;只要在头文件声明特效变量&#xff0c;在fire函数中…

AS-VJ900实时视频拼接系统产品介绍:两画面视频拼接方法和操作

目录 一、实时视频拼接系统介绍 &#xff08;一&#xff09;实时视频拼接的定义 &#xff08;二&#xff09;无缝拼接 &#xff08;三&#xff09;AS-VJ900功能介绍 1、功能 2、拼接界面介绍 二、拼接前的准备 &#xff08;一&#xff09;摄像机选择 &#xff08;二&a…