补题:leetcode第382场周赛 3022. 给定操作次数内使剩余元素的或值最小

3022. 给定操作次数内使剩余元素的或值最小 - 力扣(LeetCode)
image.png
拆位
n个数进行或运算的结果最小,每次操作可以对相邻的两个数进行与运算,至多进行k次操作
n个数进行或运算,可以对每个数进行拆解,拆解成最小的bit后再进行或运算
比如,2,4,3进行或运算
2:0 1 0
4:1 0 0
3:0 1 1
本来是010 | 100 | 011,拆解后:(0 | 1 | 0) + (1 | 0 | 1) + (0 | 1 | 1)
从高到低对每个数bitwei进行或运算

回到题目,要使最后的运算结果最小,就要从高到低尽可能地使每个bit位为0
从高到低的过程中,若确定了某一位的运算结果能为0,之后的考虑便要带上可能为0的这一位

思路就是这样,具体实现比较难,有些考验代码能力

class Solution {
public:
    int minOrAfterOperations(vector<int>& nums, int k) {
        int n = nums.size();
        vector<int> a(n);
        int ans = 0, mask = 0;
        for (int i = 31; i >= 0; -- i)
        {
            for (int j = 0; j < n; ++ j)
                a[j] = (nums[j] & mask) | (nums[j] & (1 << i));
            bool zero = false, flag = true;
            int cnt = 0;
            for (int j = 0; j < n; ++ j) 
            {
                int t = 0, cur = a[j];
                while (j < n && (cur &= a[j])) j ++ , t ++ ;
                if (j == n && t && zero == false) flag = false;
                else cnt += t;
                zero = true;
            }
            if (!flag || cnt > k) ans |= (1 << i);
            else mask |= (1 << i);
        }
        return ans;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ-3.发送者的可靠性

发送者的可靠性 3.发送者的可靠性3.1.生产者重试机制3.2.生产者确认机制3.3.实现生产者确认3.3.1.开启生产者确认3.3.2.定义ReturnCallback3.3.3.定义ConfirmCallback 3.发送者的可靠性 首先&#xff0c;我们一起分析一下消息丢失的可能性有哪些。 消息从发送者发送消息&#…

11.0 Zookeeper watcher 事件机制原理剖析

zookeeper 的 watcher 机制&#xff0c;可以分为四个过程&#xff1a; 客户端注册 watcher。服务端处理 watcher。服务端触发 watcher 事件。客户端回调 watcher。 其中客户端注册 watcher 有三种方式&#xff0c;调用客户端 API 可以分别通过 getData、exists、getChildren …

vulnhub中Beelzebub靶机

渗透思路 一.信息收集1.网段探测2.端口探测3.常见漏洞扫描4.目录扫描5.web页面分析 二.渗透继续目录扫描ssh连接提权提权&#xff0c;flag 一.信息收集 1.网段探测 ┌──(root㉿kali)-[~] └─# nmap -Pn 192.168.0.0/24 --min-rate 10000 Starting …

计算机科学导论(4)DMA传输原理

文章目录 DMA的工作原理DMA的优势DMA的类型DMA的应用 DMA&#xff08;Direct Memory Access&#xff09;直接内存访问是一种允许某些硬件子系统在不通过中央处理单元&#xff08;CPU&#xff09;的情况下&#xff0c;直接从内存读取或向内存写入数据的技术。这种方式可以显著提…

【OpenVINO™】在 MacOS 上使用 OpenVINO™ C# API 部署 Yolov5 (上篇)

在 MacOS 上使用 OpenVINO™ C# API 部署 Yolov5 &#xff08;上篇&#xff09; 项目介绍 YOLOv5 是革命性的 "单阶段"对象检测模型的第五次迭代&#xff0c;旨在实时提供高速、高精度的结果&#xff0c;是世界上最受欢迎的视觉人工智能模型&#xff0c;代表了Ult…

电力负荷预测 | 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM) 所谓预测,就是指通过对事物进行分析及研究,并运用合理的方法探索事物的发展变化规律,对其未来发展做出预先估计和判断。…

二叉树的锯齿形遍历,力扣

目录 题目&#xff1a; 我们直接看题解吧&#xff1a; 快速理解解题思路小建议&#xff1a; 解题方法&#xff1a; 相似题目对比分析&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 补充说明&#xff1a; 思路优化&#xff1a; 代码实现(层序遍历倒序)&#xff1a; 题…

osg模型的平移、缩放、旋转

加载2个模型&#xff0c;其中一个向上移动28个单位&#xff1b; 加载2个模型&#xff0c;其中一个缩放0.5倍&#xff0c;向下移动22个单位&#xff1b; 加载2个模型&#xff0c;其中一个缩放0.5倍、旋转45度、向右向下移动几个单位&#xff1b; 都是用矩阵实现的&#xff1b; …

基于CEVA DSP BX2的架构分析(六)-加载和存储单元(二)

6.4 指针修改机制 LS0和LS1都包含指针修改机制。当使用间接或索引寻址模式时&#xff0c;指针的修改可以与地址生成并行执行。在间接寻址模式中&#xff0c;指针包含地址&#xff0c;而在变址寻址模式下&#xff0c;指针包含偏移量&#xff08;有关这些寻址模式的更多详细信息&…

axios get 请求 url 转码 空格转成+,导致请求失败(前端解决)

问题 GET 请求参数&#xff1a; URL-encoded 后&#xff1a; 浏览器将空格转成了&#xff0c;导致服务报错&#xff0c;返回 400。 解决 在请求拦截器中&#xff0c;对 params 进行处理。 axios.interceptors.request.use((config) > {let url config.url;if (config…

收藏:相当大赞的来自 Agilean产品团队的2篇关于重塑敏捷组织的绩效管理的文章

Agilean产品团队&#xff0c;是吴穹博士领导下最近在国内敏捷界很厉害的产品&#xff0c;今天看到两篇相当不错的说敏捷组织的上下篇文章&#xff0c;分享下&#xff0c;地址是&#xff1a;6个原则15项举措&#xff0c;重塑敏捷组织的绩效管理&#xff08;上&#xff09; 6个原…

Unity接入GVoice腾讯实时语音

Unity接入GVoice腾讯实时语音 一、介绍二、注册GVoice创建项目语音服务1.创建项目2.申请语音权限3.项目管理查看SDK初始化的一些参数和基本信息4.GVoice检测 三、SDK下载SDK是分为两种类型&#xff1a;独立版集成板 SDK放入Unity工程中 四、语音代码写法五、GVoice踩坑语音权限…

C#委托的前世今生

起因 很多C#初学者&#xff0c;都遇到过这样的问题——线程间操作无效&#xff0c;从不是创建控件的线程访问它。 今天就这个问题&#xff0c;展开分析。 溯源 先说下这个问题产生的根源。 大家都知道&#xff0c;程序运行起来之后&#xff0c;首先会有一个主线程&#xff…

CTF-show WEB入门--web19

今晚web19也就顺便解决了 老样子我们先打开题目看看题目提示&#xff1a; 可以看到题目提示为&#xff1a; 密钥什么的&#xff0c;就不要放在前端了 然后我们打开题目链接&#xff1a; 然后我们查看网页源代码&#xff1a; 可以发现有用的内容全在网页源代码里。 前端验证…

将markdown格式内容在界面中展示出来(搭配上一篇使用)

1.定义一个div content 是你向展示的 markdown 格式数据 <div id"previewMarkdown"><textarea>{{ content }}</textarea> </div>2.导入js 这个都是 lib 目录下的 js 文件&#xff0c;因为 markdown 组件依赖这些 js 文件 <script src…

红外避障模块

目录 一、模块原理 二、模块使用说明 三、材料准备 四、代码 五、实验效果 实验效果 自动灯效果&#xff1a; 避障模块-CSDN直播 一、模块原理 红外避障模块利用光反射原理&#xff0c;模块前端拥有一个红外发射管和一个红外接收管。模块通电后红外发射管向前方不断发射…

vue前端RSA使用公钥进行加密,公钥进行解密

记录下RSA使用公钥进行加密&#xff0c;公钥进行解密&#xff1a; 背景&#xff1a;由于项目要求前后端进行数据加密传输&#xff0c;具体数据使用aes进行加密&#xff0c;aes密钥使用rsa进行加密&#xff0c;加密后的aes密钥放在请求头和响应头进行传输。这里实现的是前端vue…

springboot159基于springboot框架开发的景区民宿预约系统的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

net start mysql服务名无效|发生系统错误 解决办法

未输入正确的mysql服务名 解决办法&#xff1a; 使用net start命令查看可用的服务名&#xff0c;找到mysql的服务名 未使用管理员身份运行命令提示符 解决方法&#xff1a; 使用管理员身份运行命令提示符