当前位置: 首页 > wzjs >正文

鹤壁做网站网络销售培训

鹤壁做网站,网络销售培训,wordpress 搜索引擎平台,企业网站建设需求分析2563. 统计公平数对的数目 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c;返回 公平数对的数目 。 如果 (i, j) 数对满足以下情况&#xff0c;则认为它是一个 公平数对 &#xff1a; 0 < i < j < n&#xff0c…

2563. 统计公平数对的数目

给你一个下标从 0 开始、长度为 n 的整数数组 nums ,和两个整数 lower 和 upper ,返回 公平数对的数目 。
如果 (i, j) 数对满足以下情况,则认为它是一个 公平数对 :
0 <= i < j < n,且
lower <= nums[i] + nums[j] <= upper
示例 1:
输入:nums = [0,1,7,4,4,5], lower = 3, upper = 6
输出:6
解释:共计 6 个公平数对:(0,3)、(0,4)、(0,5)、(1,3)、(1,4) 和 (1,5) 。
示例 2:
输入:nums = [1,7,9,2,5], lower = 11, upper = 11
输出:1
解释:只有单个公平数对:(2,3) 。
提示:
1 <= nums.length <= 105
nums.length == n
-109 <= nums[i] <= 109
-109 <= lower <= upper <= 109


题解

还是找数对,这次要找和在一定区间 [lower,upper] 的数对
对于每一个数 i ,满足条件的另一个数就是区间 [lower - i,upper - i]内的数
于是我们不妨枚举所有数字 i ,找到[lower - i,upper - i]内数的个数再相加即可

那么接下来的问题就是如何快速找到[lower - i,upper - i]内数的个数

由于是查找一个区间内数的个数,我们不妨将数组nums进行排序,从后往前找到第一个<=upper的数nums[ r ] 和第一个>lower的数nums[ l ],那么区间内的数就有 r - l 个(nums[ l ]是区间外的)
有一点需要注意:每一个 i 我们找的是其右边的另一个数字,所以还需要(l+1,r)之间且大于 i 的数,即 max(i,r) - max(i,l)个
但是对于每一个数字 i 如果我们都从后往前找的话时间复杂度就是 n^2 了,太大了,需要进行优化

不难注意到(注意力惊人),随着数组排序,我们枚举的数字 i 是递增的,那么区间[lower - i,upper - i]是递减的
l 与 r 是随着枚举单调递减的
这样对于每一个 i 的 l 与 r 就不需要再次从后往前寻找,直接从上一次的位置往前找即可
循环结束 i 遍历一次nums,l 与 r 也最多遍历一次nums,时间复杂度就从 n^2 优化为 nlogn(瓶颈在排序)

发现排序后区间[lower - i,upper - i]的单调性是关键


代码如下↓

class Solution {
public:long long countFairPairs(vector<int>& nums, int lower, int upper) {int n=nums.size();sort(nums.begin(),nums.end());int l=n-1;int r=n-1;long long res=0;for(int x=0;x<n;x++){while(l && nums[l]+nums[x]>=lower){l--;}while(r && nums[r]+nums[x]>upper){r--;}res+=max(x,r)-max(x,l);}return res;}
};
http://www.dtcms.com/wzjs/191475.html

相关文章:

  • 建设视频网站设计意义免费引流推广的方法
  • 专业做冻货的网站关键词优化排名首页
  • js修改wordpress商品关键词优化的方法
  • 廊坊百度网站推广营销网站的建造步骤
  • 做网站需要招聘内容范本电子商务网站有哪些?
  • 网站建设技哪里可以接广告
  • 网站建设服务费增值税多少社交媒体营销策略有哪些
  • 网站建设需求文案百度打广告收费表
  • 包做包装的网站营销型网站建设的价格
  • 装修公司网站建设解决方案谷歌推广seo
  • 做愛视频网站百度云盘下载
  • 有区域名和主机怎么做网站网站设计优化
  • 视频网站前台怎么做品牌型网站设计推荐
  • 哪个网站的品牌特卖做的好无锡百度推广公司哪家好
  • 中卫市网站开发制作网站点击量查询
  • 网站的管理更新维护微信营销的方法
  • 跨境电商网址网页优化最为重要的内容是
  • 政府网站建设硬件百度投诉中心
  • 海南医院网站建设网络营销课程设计
  • 济南一哥网站建设搜索引擎优化解释
  • dede网站备份汕头网站建设方案维护
  • 网站开发设计实训总结最新病毒感染
  • 国家开发大学网站作业怎么做百度收录网址
  • 佛山b2b网站建设竞价托管推广哪家好
  • 免费域名注册网站店铺seo是什么意思
  • 重庆做网站 外包公司有哪些手机百度官网
  • 做百科需要用什么网站做参考最好用的免费建站平台
  • 质感企业网站导航用ps怎么做一媒体app软件下载老版本
  • 怎么做网站收录网站如何优化关键词排名
  • 只做域名跳转和关停网站网络营销渠道策略研究