Re: [閒聊] 每日leetcode

作者: oin1104 (是oin的說)   2024-11-10 14:07:31
題目
找一段最短的陣列裡面 | 全部的值至少k
思路
其實想蠻久的
最後是紀錄裡面的每個位子的bit數量
然後sliding window
找到每個至少k值的長度
```cpp
class Solution {
public:
vector<int> nums;
int n ;
int k ;
int val(vector<long long>& now)
{
int res = 0;
for(int i = 0 ; i < 32 ; i ++)
{
if(now[i])res += pow(2,i);
}
return res;
}
int minimumSubarrayLength(vector<int>& nums2, int k2)
{
nums = nums2;
k = k2;
n = nums.size();
int res = INT_MAX;
vector<long long> paper(32,0);
int i = 0;
int l = 0;
for(i = 0 ; i < n ; i ++ )
{
for(int t = 0 ; t < 31 ; t ++)
{
if(nums[i] & (int)pow(2,t))paper[t] ++;
}
vector<long long> paper2 = paper;
for(int t = 0 ; t < 31 ; t ++)
{
if(nums[l] & (int)pow(2,t))paper2[t]

Links booklink

Contact Us: admin [ a t ] ucptt.com