当前位置: 首页 > article >正文

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

前言

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


习题

1.最长优雅子数组

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

题面:

代码:

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)

题面:

代码:

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;
    }
   
}

后言

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


http://www.kler.cn/a/417448.html

相关文章:

  • maven如何不把依赖的jar打包到同一个jar?
  • Java 23新特性
  • 【初阶数据结构和算法】八大排序算法之插入排序(直接插入排序、希尔排序及其对比)
  • 图像分类与目标检测算法
  • 【C++】STL——list底层实现
  • 专业学习|一文了解并实操自适应大邻域搜索(讲解代码)
  • Scala的字符串
  • 图书馆管理系统设计思路
  • 使用异步编程提升Python网络请求性能
  • Figma入门-原型交互
  • [windows] [C++] 由变量命名引起的血案
  • Stable Diffusion 3详解
  • oracle 用户手册
  • Android电视项目焦点跨层级流转
  • CodeIgniter 如何加载多个帮助文件
  • 241130_MindNLP学习记录
  • 【大语言模型】ACL2024论文-22 大型语言模型中的自信心:探究大型语言模型生成回答的自信心与概率一致性
  • C_字符串的一些函数
  • 算法编程题-颜色交替的最短路径
  • Vue.js 组件开发:进阶技巧与最佳实践
  • pytest 通过实例讲清单元测试、集成测试、测试覆盖率
  • 网络安全开发包介绍
  • Qt问题之 “QWidget: Must construct a QApplication before a QWidget“错误
  • 700M是什么?为什么被称为黄金频段?
  • gitee:解决vs文件权限被拒问题
  • 数据结构(初阶7)---七大排序法(堆排序,快速排序,归并排序,希尔排序,冒泡排序,选择排序,插入排序)(详解)