首页 > 其他分享 >6317.统计美丽子数组的数目-336周赛

6317.统计美丽子数组的数目-336周赛

时间:2023-03-12 15:36:01浏览次数:56  
标签:周赛 nums 336 选择 减去 6317 数组 变成 美丽

统计美丽子数组的数目

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

选择两个满足 0 <= i, j < nums.length 的不同下标 i 和 j 。
选择一个非负整数 k ,满足 nums[i] 和 nums[j] 在二进制下的第 k 位(下标编号从 0 开始)是 1 。
将 nums[i] 和 nums[j] 都减去 2k 。
如果一个子数组内执行上述操作若干次后,该子数组可以变成一个全为 0 的数组,那么我们称它是一个 美丽 的子数组。

请你返回数组 nums 中 美丽子数组 的数目。

子数组是一个数组中一段连续 非空 的元素序列。

示例 1:

输入:nums = [4,3,1,2,4]
输出:2
解释:nums 中有 2 个美丽子数组:[4,3,1,2,4] 和 [4,3,1,2,4] 。

  • 按照下述步骤,我们可以将子数组 [3,1,2] 中所有元素变成 0 :
    • 选择 [3, 1, 2] 和 k = 1 。将 2 个数字都减去 21 ,子数组变成 [1, 1, 0] 。
    • 选择 [1, 1, 0] 和 k = 0 。将 2 个数字都减去 20 ,子数组变成 [0, 0, 0] 。
  • 按照下述步骤,我们可以将子数组 [4,3,1,2,4] 中所有元素变成 0 :
    • 选择 [4, 3, 1, 2, 4] 和 k = 2 。将 2 个数字都减去 22 ,子数组变成 [0, 3, 1, 2, 0] 。
    • 选择 [0, 3, 1, 2, 0] 和 k = 0 。将 2 个数字都减去 20 ,子数组变成 [0, 2, 0, 2, 0] 。
    • 选择 [0, 2, 0, 2, 0] 和 k = 1 。将 2 个数字都减去 21 ,子数组变成 [0, 0, 0, 0, 0] 。
      示例 2:

输入:nums = [1,10,4]
输出:0
解释:nums 中没有任何美丽子数组。

提示:

1 <= nums.length <= 105
0 <= nums[i] <= 106

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/count-the-number-of-beautiful-subarrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

前置知识:前缀异或和

code

标签:周赛,nums,336,选择,减去,6317,数组,变成,美丽
From: https://www.cnblogs.com/huangxk23/p/17208243.html

相关文章

  • 6318.完成所有任务的最少时间-336
    完成所有任务的最少时间你有一台电脑,它可以同时 运行无数个任务。给你一个二维整数数组 tasks ,其中 tasks[i]=[starti,endi,durationi] 表示第 i 个任务需要......
  • 【洛谷】P3365 改造二叉树(LIS)
    原题链接题意给定一颗二叉树,每次操作可以修改一个点的权值为任意整数,求将原树变为二叉搜索树的最小操作次数。注意:本题中的二叉搜索树定义为:每个左边儿子的权值都严格小......
  • LeetCode 周赛 335,纯纯手速场!
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。昨晚是LeetCode第335场周赛,你参加了吗?这场周赛整体难度不高,有两道模板题......
  • [第335场周赛]质因数分解,多重背包
    喜提AK以及最佳排名:6307. 递枕头提示简单3相关企业​​n​​ 个人站成一排,按从 ​​1​​ 到 ​​n​​ 编号。最初,排在队首的第一个人拿着一个枕头。每秒钟,拿着枕头......
  • 力扣第335场周赛补题题解
    目录1.递枕头2.二叉树中的第K大层和3.分割数组使乘积互质4.获得分数的方法数1.递枕头classSolution{public:intpassThePillow(intn,inttime){......
  • Acwing 93周赛 C
    异或值(字典树)思路唉,人太笨了,知道用字典树,但想不出过程,知其然而不知其所以然。代码voidinsert(intx){ intp=0; for(inti=30;i>=0;i--) { intu=(x>>i)&......
  • 周赛_ABC291
    C-LRUDInstructions2题面说了这样一句:(includingthestartingandendingpoints)我不以为意捏,认为怎么会错过。结果WA了一发。回头去找别人做的,似乎也只是把我用......
  • 「CF1336E」Chiori and Doll Picking
    题目点这里看题目。给定一个长度为\(n\)的非负整数序列\(a\)和非负整数参数\(m\),保证\(\forall1\lei\len,0\lea_i<2^m\)。设\(U=\{1,2,3,\dots,n-1,n\}\)。......
  • LeetCode 周赛 334,在算法的世界里反复横跳
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。今天是LeetCode第334场周赛,你参加了吗?这场周赛考察范围比较基础,整体难度......
  • AcWing 第 92 场周赛 C题 4866. 最大数量 题解
    原题链接链表+并查集乱搞做法:思路首先可以发现,想要让度数尽量大,那我们应该构造成菊花图,即下图所示:对于每个需求,我们可以知道,如果之前他们没有连在一起,那我们一定得......