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

【Leetcode 每日一题 - 补卡】2588. 统计美丽子数组数目

问题背景

给你一个下标从 0 0 0 开始的整数数组 n u m s nums nums。每次操作中,你可以:

  1. 选择两个满足 0 < = i , j < n u m s . l e n g t h 0 <= i, j < nums.length 0<=i,j<nums.length 的不同下标 i i i j j j
  2. 选择一个非负整数 k k k,满足 n u m s [ i ] nums[i] nums[i] n u m s [ j ] nums[j] nums[j] 在二进制下的第 k k k 位(下标编号从 0 0 0 开始)是 1 1 1
  3. n u m s [ i ] nums[i] nums[i] n u m s [ j ] nums[j] nums[j] 都减去 2 k 2 ^ k 2k

如果一个子数组内执行上述操作若干次后,该子数组可以变成一个全为 0 0 0 的数组,那么我们称它是一个 美丽 的子数组。
请你返回数组 n u m s nums nums美丽子数组 的数目。
子数组是一个数组中一段连续 非空 的元素序列。

数据约束

  • 1 ≤ n u m s . l e n g t h ≤ 1 0 5 1 \le nums.length \le 10 ^ 5 1nums.length105
  • 0 ≤ n u m s [ i ] ≤ 1 0 6 0 \le nums[i] \le 10 ^ 6 0nums[i]106

解题过程

同时减去 2 k 2 ^ k 2k 这个操作,其实就是在对应的二进制位上将 1 1 1 修改为 0 0 0
要求若干次操作后得到全为 0 0 0 的数组,实际上需要数组中每个数的每个二进制位上 1 1 1 的数量为偶数,进一步可以转化为求异或和为零的子数组,方法类似于 和为 K 的子数组 。
需要注意,初始状态下异或和为零的次数要设置为 1 1 1,否则会漏解。

具体实现

class Solution {
    public long beautifulSubarrays(int[] nums) {
        long res = 0;
        int xorSum = 0;
        Map<Integer, Integer> count = new HashMap<>(nums.length + 1);
        count.put(0, 1);
        for (int num : nums) {
            xorSum ^= num;
            int cur = count.getOrDefault(xorSum, 0);
            res += cur;
            count.put(xorSum, cur + 1);
        }
        return res;
    }
}

相关文章:

  • XPath 定位复杂元素的最佳实践
  • 查看k8s集群的资源使用情况
  • Python机器学习小项目实战:随机森林模型优化,提升信用卡欺诈检测效能
  • 大白话如何使用 CSS 实现响应式布局?请列举一些常见的方法。
  • 8. 机器人模型训练与评估(具身智能机器人套件)
  • React基础之受控表单绑定
  • ReferenceError: assignment to undeclared variable xxx
  • Python 编程题 第七节:没出现过的数字、替换空格、快乐数、立方根、最长公共前缀
  • 深度解读,消防设施操作员考试重难点突破
  • node.js内置模块之---crypto 模块
  • redis缓存的应用
  • MySQL很久没碰,复习一下
  • 【从零开始学习计算机科学】数字逻辑(一)绪论
  • 从多智能体变成一个具有通过场景生成多个决策路径 并在实施的过程中优化决策路径 openmanus 致敬开源精神中的每一个孤勇者
  • 电子档案图片jpg格式表单化审核
  • 国内免费使用 Claude 3.7 Sonnt,GPT-4o,DeepSeek-R1联网极速响应
  • AI预测体彩排3新模型百十个定位预测+胆码预测+杀和尾+杀和值2025年3月7日第12弹
  • 【数字电子技术基础】 逻辑函数的公式化简法
  • 算法——链表
  • 案例1_2:点亮8个灯【改进版】
  • 燕郊医院网站建设/原创代写文章平台
  • 普洱市网站建设/seo关键词优化平台
  • 免费网站搭建/厦门关键词seo排名网站
  • 学院后勤处网站建设方案书/晚上看b站
  • 专门做网站的公司/广西南宁做网站的公司
  • 现在做网站还用dw做模板了吗/免费下优化大师