Re: [闲聊] 每日leetcode

楼主: oin1104 (是oin的说)   2024-12-11 15:36:58
题目
你可以把阵列里的数字变成num+k ~ num-k
最多可以让几个数字一样
思路
随便设一个数字
都可以用他来二分搜这个数字可以一样的数字的数量
所以就暴力的对每个数字都二分搜就好了
后来看解答才看到sliding window
不过我觉得我这个也蛮有趣的
给大家看一下0.0
```cpp
class Solution {
public:
int maximumBeauty(vector<int>& nums, int k)
{
int res = 1;
int n = nums.size();
sort(nums.begin(),nums.end());
for(int i = 0 ; i <= nums[n-1] ; i ++)
{
int l = (int)(lower_bound(nums.begin() , nums.end() , i-k) - nums.be
gin());
// cout << l << " ";
int r = (int)(upper_bound(nums.begin() , nums.end() , i+k) - nums.be
gin());
// cout << r << " ";
res = max(res, r - l);
// cout<<endl;
}
return res;
}
};
```

Links booklink

Contact Us: admin [ a t ] ucptt.com