mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 11:43:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>给你一个只包含 <strong>非负</strong> 整数的数组 <code>nums</code> 。</p>
 | 
						||
 | 
						||
<p>我们定义满足 <code>l <= r</code> 的子数组 <code>nums[l..r]</code> 的分数为 <code>nums[l] AND nums[l + 1] AND ... AND nums[r]</code> ,其中 <strong>AND</strong> 是按位与运算。</p>
 | 
						||
 | 
						||
<p>请你将数组分割成一个或者更多子数组,满足:</p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><strong>每个</strong> 元素都 <strong>只</strong> 属于一个子数组。</li>
 | 
						||
	<li>子数组分数之和尽可能<strong> 小</strong> 。</li>
 | 
						||
</ul>
 | 
						||
 | 
						||
<p>请你在满足以上要求的条件下,返回<strong> 最多</strong> 可以得到多少个子数组。</p>
 | 
						||
 | 
						||
<p>一个 <strong>子数组</strong> 是一个数组中一段连续的元素。</p>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong class="example">示例 1:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [1,0,2,0,1,2]
 | 
						||
<b>输出:</b>3
 | 
						||
<strong>解释:</strong>我们可以将数组分割成以下子数组:
 | 
						||
- [1,0] 。子数组分数为 1 AND 0 = 0 。
 | 
						||
- [2,0] 。子数组分数为 2 AND 0 = 0 。
 | 
						||
- [1,2] 。子数组分数为 1 AND 2 = 0 。
 | 
						||
分数之和为 0 + 0 + 0 = 0 ,是我们可以得到的最小分数之和。
 | 
						||
在分数之和为 0 的前提下,最多可以将数组分割成 3 个子数组。所以返回 3 。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong class="example">示例 2:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [5,7,1,3]
 | 
						||
<b>输出:</b>1
 | 
						||
<b>解释:</b>我们可以将数组分割成一个子数组:[5,7,1,3] ,分数为 1 ,这是可以得到的最小总分数。
 | 
						||
在总分数为 1 的前提下,最多可以将数组分割成 1 个子数组。所以返回 1 。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>提示:</strong></p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
 | 
						||
	<li><code>0 <= nums[i] <= 10<sup>6</sup></code></li>
 | 
						||
</ul>
 |