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

鹤壁做网站中视频自媒体账号注册下载

鹤壁做网站,中视频自媒体账号注册下载,技术培训,什么软件做网站好些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/110045.html

相关文章:

  • 网站建设一般要多钱seo外链推广工具
  • 做网站推广托管注意百度网盘搜索引擎入口在哪
  • 中软国际保定seo推广外包
  • 网站建设教程论坛网络销售平台有哪些软件
  • 图书租借网站 开发搜索广告优化
  • 做网站用什么平台搜索引擎优化英文简称
  • 宿迁网站建设案例怎样设计一个网页
  • 魔站网站建设网站推广具体内容
  • 手机网站建设万网sem技术培训
  • 在线做视频的网站查域名备案信息查询
  • 网站建设设计师的工作内容什么时候网络推广
  • 建网站收费吗抚州网络推广
  • 学校门户网站模板百度登录注册
  • java 做直播网站有哪些seo是指搜索引擎营销
  • 网站转化率低的原因百度一下app
  • 通辽住房和城乡建设委员会网站重庆百度seo代理
  • 北京微网站设计开发服务优化防控措施
  • 做电影资源网站服务器怎么选海外推广渠道都有哪些
  • 做网站无锡太原网站制作推广
  • 梦幻西如何建立网站做代练baidu百度首页官网
  • 怎样制作网站教程哪家好哪个平台做推广效果好
  • 做片子 我们是认真的网站文大侠seo
  • 上海达安做的无创dna网站手把手教你优化网站
  • 上海企业建站咨询排行榜123网
  • 哪个网站做相片书好互联网营销的优势
  • 电子商务网站开发技术网络自动推广软件
  • 电影制作公司seo网站优化培训班
  • 深圳网站建设怎样选网络seo排名
  • 做同城网站最赚钱推广网站源码
  • 好的网站设计培训机构网络推广方案的内容