当前位置: 首页> 房产> 家装 > 域名能免费申请吗_icp备案有效期几年_百度竞价优化排名_百度seo关键词优化市场

域名能免费申请吗_icp备案有效期几年_百度竞价优化排名_百度seo关键词优化市场

时间:2025/7/11 23:45:23来源:https://blog.csdn.net/thefuture223/article/details/147363450 浏览次数:0次
域名能免费申请吗_icp备案有效期几年_百度竞价优化排名_百度seo关键词优化市场

给你一个下标从 0 开始、长度为 n 的整数数组 nums ,和两个整数 lower 和 upper ,返回 公平数对的数目 。

如果 (i, j) 数对满足以下情况,则认为它是一个 公平数对 :

  • 0 <= i < j < n,且
  • lower <= nums[i] + nums[j] <= upper

思路1:排序+二分查找

适用于离散程度较大的数据

  • class Solution {
    public:long long countFairPairs(vector<int>& nums, int lower, int upper) {//排序sort(nums.begin(),nums.end());//lower-nums[i]<=nums[j]<=upper-nums[i]//使用二分查找找到符合位置long long ans=0;int n=nums.size();for(int i=0;i<n;i++){auto right = upper_bound(nums.begin(), nums.begin() + i, upper - nums[i]);auto left = lower_bound(nums.begin(), nums.begin() + i, lower - nums[i]);ans += right-left;}return ans;}
    };

    思路二:哈希表+遍历

  • 适用于连续性较好的数据

  • class Solution {
    public:long long countFairPairs(vector<int>& nums, int lower, int upper) {int n = nums.size();unordered_map<int, int> mp;long long res = 0;// 统计每个数字的出现次数for (int i = 0; i < n; i++) {mp[nums[i]]++;}// 遍历每个数字for (int i = 0; i < n; i++) {if (nums[i] > upper) {continue;}// 更新哈希表,避免重复计数mp[nums[i]]--;// 计算 j 的范围int start = max(lower - nums[i], 0);int end = upper - nums[i];// 遍历可能的 jfor (int j = start; j <= end; j++) {if (mp.find(j) != mp.end()) {res += mp[j];}}}return res;}
    };

关键字:域名能免费申请吗_icp备案有效期几年_百度竞价优化排名_百度seo关键词优化市场

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: