mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 19:53:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>nums</code> 和一个整数 <code>k</code> 。</p>
 | 
						||
 | 
						||
<p>一次操作中,你可以选择 <code>nums</code> 中满足 <code>0 <= i < nums.length - 1</code> 的一个下标 <code>i</code> ,并将 <code>nums[i]</code> 和 <code>nums[i + 1]</code> 替换为数字 <code>nums[i] & nums[i + 1]</code> ,其中 <code>&</code> 表示按位 <code>AND</code> 操作。</p>
 | 
						||
 | 
						||
<p>请你返回 <strong>至多</strong> <code>k</code> 次操作以内,使 <code>nums</code> 中所有剩余元素按位 <code>OR</code> 结果的 <strong>最小值</strong> 。</p>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong class="example">示例 1:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [3,5,3,2,7], k = 2
 | 
						||
<b>输出:</b>3
 | 
						||
<b>解释:</b>执行以下操作:
 | 
						||
1. 将 nums[0] 和 nums[1] 替换为 (nums[0] & nums[1]) ,得到 nums 为 [1,3,2,7] 。
 | 
						||
2. 将 nums[2] 和 nums[3] 替换为 (nums[2] & nums[3]) ,得到 nums 为 [1,3,2] 。
 | 
						||
最终数组的按位或值为 3 。
 | 
						||
3 是 k 次操作以内,可以得到的剩余元素的最小按位或值。</pre>
 | 
						||
 | 
						||
<p><strong class="example">示例 2:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [7,3,15,14,2,8], k = 4
 | 
						||
<b>输出:</b>2
 | 
						||
<b>解释:</b>执行以下操作:
 | 
						||
1. 将 nums[0] 和 nums[1] 替换为 (nums[0] & nums[1]) ,得到 nums 为 [3,15,14,2,8] 。
 | 
						||
2. 将 nums[0] 和 nums[1] 替换为 (nums[0] & nums[1]) ,得到 nums 为 [3,14,2,8] 。
 | 
						||
3. 将 nums[0] 和 nums[1] 替换为 (nums[0] & nums[1]) ,得到 nums 为 [2,2,8] 。
 | 
						||
4. 将 nums[1] 和 nums[2] 替换为 (nums[1] & nums[2]) ,得到 nums 为 [2,0] 。
 | 
						||
最终数组的按位或值为 2 。
 | 
						||
2 是 k 次操作以内,可以得到的剩余元素的最小按位或值。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong class="example">示例 3:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [10,7,10,3,9,14,9,4], k = 1
 | 
						||
<b>输出:</b>15
 | 
						||
<b>解释:</b>不执行任何操作,nums 的按位或值为 15 。
 | 
						||
15 是 k 次操作以内,可以得到的剩余元素的最小按位或值。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>提示:</strong></p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><code>1 <= nums.length <= 10<sup>5</sup></code></li>
 | 
						||
	<li><code>0 <= nums[i] < 2<sup>30</sup></code></li>
 | 
						||
	<li><code>0 <= k < nums.length</code></li>
 | 
						||
</ul>
 |