力扣-位运算-8【算法学习day.48】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.最长优雅子数组

题目链接: 2401. 最长优雅子数组 - 力扣(LeetCode)

题面:

代码:

java 复制代码
class Solution {
    public int longestNiceSubarray(int[] nums) {
       int ans = 0;
        for (int i = 0; i < nums.length; i++) { // 枚举子数组右端点 i
            int or = 0, j = i;
            while (j >= 0 && (or & nums[j]) == 0){
                 or |= nums[j--]; // 加到子数组中
            }
            ans = Math.max(ans, i - j);
        }
        return ans;

    }
}

2.数组最后一个元素的最小值

题目链接: 3133. 数组最后一个元素的最小值 - 力扣(LeetCode)

题面:

代码:

java 复制代码
class Solution {
    public long minEnd(int n, int x) {
       n--;
       int i = 0;
       int j = 0;
       long ans = x;
        while((n>>j)>0){
            if(((ans>>i)&1)==0){
                long bit = ((n>>j)&1);
                ans|=(long)(bit<<(i));
                j++;
            }
            i++;
        }
        return ans;
    }
   
}

后言

上面是力扣位运算专题,下一篇是其他的习题,希望有所帮助,一同进步,共勉!

相关推荐
Peter·Pan爱编程2 分钟前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法
雨辰AI7 分钟前
人大金仓 V9 生产级专用监控大盘(含 120 + 指标 + 告警规则 + 一键导入)
java·开发语言·数据库·mysql·政务
aloha_78914 分钟前
软考信息系统项目管理师错误归纳总结
java·学习
vortex523 分钟前
Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
java·linux·服务器
invicinble24 分钟前
spring提供的其他机制
java·后端·spring
阿昌喜欢吃黄桃28 分钟前
如果线程池中线程异常后:销毁还是复用?
java·线程·线程池·多线程·juc
奋斗的小乌龟32 分钟前
动态创建Agent01
java·笔记
彦为君1 小时前
Java文件处理效率库Commons-IO(速览)
java·开发语言·mfc
呉師傅1 小时前
UPS滴滴告警!如何测量UPS电池内阻【UPS学习】
运维·服务器·网络·学习·电脑
lizhihai_991 小时前
股市学习心得-与英伟达核心 PCB 相关的八家关联企业
大数据·人工智能·学习