Bootstrap

力扣-位运算-4【算法学习day.44】

前言

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


习题

1.查询数组异或美丽值

题目链接:2527. 查询数组异或美丽值 - 力扣(LeetCode)

题面:

代码:

class Solution {
    public int xorBeauty(int[] nums) {
      int n = nums.length;
       int ans = 0;
     for(int i = 0;i<n;i++)ans^=nums[i];
      return ans;
    }
}

2.操作后的最大异或和

题目链接:2317. 操作后的最大异或和 - 力扣(LeetCode)

题面:

代码: 

class Solution {
    public int maximumXOR(int[] nums) {
        int n = nums.length;
        int ans = 0;
        for(int i = 0;i<n;i++)ans|=nums[i];
        return ans;
    }
}

3.统计美丽子数组数目

题目链接:2588. 统计美丽子数组数目 - 力扣(LeetCode)

题面:

代码:

class Solution {
    public long beautifulSubarrays(int[] nums) {
         long ans = 0;
         int n = nums.length;
         int s = 0;
         Map<Integer,Integer> map = new HashMap<>();
         map.put(s,1);
         for(int i = 0;i<n;i++){
           s^=nums[i];
            ans+=(map.getOrDefault(s,0));
            map.put(s,map.getOrDefault(s,0)+1);          
         }
         return ans;
    }
}

后言

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

;