首页 > 其他分享 >(nice!!!)LeetCode 3097. 或值至少为 K 的最短子数组 II(位运算、滑动窗口)

(nice!!!)LeetCode 3097. 或值至少为 K 的最短子数组 II(位运算、滑动窗口)

时间:2024-06-04 11:33:34浏览次数:22  
标签:运算 nums int mn 数组 II 短子 端点 nice

3097. 或值至少为 K 的最短子数组 II

在这里插入图片描述
在这里插入图片描述
思路:既然求的是区间,那么我们自然就想到前缀和、滑动窗口、双指针。
结合本题的特点:或运算,会发现如果一段连续的区间进行或运算,最多只会有32次运算可以改变,这是因为int型的二进制范围是-2 ^ 31 ~ 2^31-1,每次增加一个二进制形式的1。所以满足大于k的长度一定不超过35次。
这样我们自然就想到滑动窗口了。
我们先用一层for循环从左到右遍历每一个区间的右端点,然后第二层for循环去找到符合要求的最近的左端点。

和这道题一样的思路(nice!!!)LeetCode 2411. 按位或最大的最小子数组长度(数组、位运算)

class Solution {
public:
    int minimumSubarrayLength(vector<int>& nums, int k) {
        int n=nums.size();
        vector<int> v(n,0);
        int mn=1e9+10;
        //遍历每一个区间的右端点
        for(int i=0;i<n;i++){
        	//找到符合要求的最近的左端点
            for(int j=i;j>=0;j--){
            	//如果插入i这个点,不能进行更新的话,自然j前面的点也无效。
                if(j!=i&&(nums[i]|v[j])==v[j]) break;
                //进行更新
                v[j]=(nums[i]|v[j]);
                //找到满足要求的点,直接就可以更新、退出了
                if(v[j]>=k){
                    mn=min(i-j+1,mn);
                    break;
                }
            }
        }
        //注意都不符合的情况
        return mn==1e9+10? -1:mn;
    }
};

标签:运算,nums,int,mn,数组,II,短子,端点,nice
From: https://blog.csdn.net/weixin_46028214/article/details/139437269

相关文章

  • (nice!!!)LeetCode 3067. 在带权树网络中统计可连接服务器对数目(深度优先搜索dfs、树)
    3067.在带权树网络中统计可连接服务器对数目思路:节点数最多1000,那么我们0(n^2)的时间复杂度就ok了。我们可以用一层for循环遍历每一个点i,然后第二层for循环遍历每一条可能的边j,通过用dfs来找到符合“到根节点i的距离可以被signalSpeed整除”的点。不同子节点之间两两组......
  • 代码随想录算法训练营第27天 | 39. 组合总和 、 40.组合总和II 、 131.分割回文串
    组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/文章讲解:https://programmercarl.com/0039.组合总和.html视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ/***@param{number[]}candidates*@param{number......
  • ERP发展历程四之 MRP II的局限性和与ERP的主要区别
    MRPⅡ理论的局限性MRPI思想的局限性主要表现在以下几个方面:(1)企业竞争范围的扩大,要求在企业的各个方面加强管理,并要求企业有更高的信息化集成,要求对企业的整体资源进行集成管理,而不仅仅只是对制造资源进行集成管理。现代企业都意识到,企业的竞争是综合实力的竞争,要求企业有......
  • ERP发展阶段四之MRP II (制造资源计划)
    制造资源计划(MRPI)20世纪70年代末和80年代初,物料需求计划MRP经过发展和扩充逐步形成了资源计划的生产管理方式。制造资源计划(manufacturingresourcesplanning,MRPI)是指以物料需求计划MRP为核心的闭环生产计划与控制系统,它将MRP的信息共享扩大,使生产、销售、财务、采购、工程紧......
  • MVC2.0项目部署在IIS Winserver2012
    1、MVC1.0升级2.0初始项目为MVC1.0,用VS2010开发环境直接将项目升级为2.0参考地址:https://www.cnblogs.com/myshell/archive/2010/05/08/1730348.html用的第三种方式进行项目升级2、项目发布,直接重新生成项目,Bin文件夹下需要复制system.web.dllbin文件下不要复制系统文件,否则......
  • 代码随想录算法训练营Day59 | 503.下一个更大元素II、42. 接雨水 | Python | 个人记录
    注:Day58是休息日。本文目录503.下一个更大元素II做题看文章42.接雨水做题看文章以往忽略的知识点小结个人体会503.下一个更大元素II代码随想录:503.下一个更大元素IILeetcode:503.下一个更大元素II做题和之前的739.每日温度一样,只不过可以循环,我这边是多遍历一......
  • (11.2)iic串口读写EEPROM实验:iic串口协议
    一、iic协议介绍iic(i2c,inter-integratedCircuit),即集成电路总线,是一种两线式串行总线。多用于主机(fpga)和从机(外围设备)在数据量不大且传输距离短的场合下使用(支持一主多从,根据器件地址进行从机的区分)iic由数据线SDA和时钟线SCL构成通信线路,既可以发送数据,也可以接受数据......
  • Mac电脑在线视频播放器:IINA for Mac v1.3.4中文版下载
    IINA是一款优秀的Mac平台视频播放软件,能够支持几乎所有常见的视频格式和编解码器,包括4K、HEVC、H.264等。软件采用了现代化的设计风格,界面简洁清晰,操作简便。同时还支持视频播放过程中的画中画、自定义快捷键、在线字幕搜索等功能,用户体验非常优秀。除此之外,IINA还支持AirP......
  • 程序分享--常见算法/编程面试题:删除有序数组中的重复项 II
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。或关注博主免费专栏【程序......
  • QuartusII调用 PLL_IP核方法(Mega Wizard)
    【基本信息】要求:调用PLL—IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比)。芯片型号:cycloneⅣEP4CE10F17C8平台工具:QuartusII15.0(64-bit)、ModelsimSE-6410.4【PLL_IP核简介】IP核:ASIC或FPGA中预先设计好具有某种功能的电路模块,参......