🗒️2044. 统计按位或能得到最大值的子集数目
2025-3-3
| 2025-3-3
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Mar 3, 2025 02:25 AM
给你一个整数数组 nums ,请你找出 nums 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目 。
如果数组 a 可以由数组 b 删除一些元素(或不删除)得到,则认为数组 a 是数组 b 的一个 子集 。如果选中的元素下标位置不一样,则认为两个子集 不同 。
对数组 a 执行 按位或 ,结果等于 a[0] OR a[1] OR ... OR a[a.length - 1](下标从 0 开始)。

暴力 DFS

剪枝 DFS

参考 zaozhe
我们先计算得到最大的或值。如果,当前的或值已经是最大的,后面就没必要再去算了,直接加上去数量就行了。

📎 参考

  • 【题单】位运算
  • 2438. 二的幂数组中查询范围内的乘积2154. 将找到的值乘以 2
    Loading...