力扣-位运算-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;
    }
   
}

后言

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

相关推荐
linx29523 分钟前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
布莱克60525 分钟前
C++ 七大排序算法详解:选择、冒泡、插入、计数、堆、快速与归并排序
数据结构·c++·算法·排序算法
砚底藏山河1 小时前
容错重试与指数退避:网络抖动手抖不再丢数据(魔码量化实战 #04)
java·数据库·python·金融
Peng7111 小时前
浙大数据可视化课程学习笔记
笔记·学习·信息可视化
shehuiyuelaiyuehao1 小时前
算法44,模拟算法,数青蛙
算法·哈希算法·散列表
笨鸟先飞的橘猫1 小时前
slg游戏面试复盘
学习·面试
hanlin031 小时前
刷题笔记:力扣第287题-寻找重复数
笔记·算法·leetcode
2501_930472441 小时前
云安全自查清单:用腾讯云助手 30 分钟完成一次权限与密钥体检
java·腾讯云
kevin_kang2 小时前
第02章 对话时间线与延迟分析
算法
科学实验家2 小时前
最小生成树:Prim,kruskal
数据结构·c++·算法