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

怎么做网站建设企业站seo报价

怎么做网站建设,企业站seo报价,python做网站的多吗,静态网页软件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/78968.html

相关文章:

  • 青海做网站找谁营销网络建设
  • thinkphp做的教育网站口碑营销方案
  • 佛山新网站制作公司网络媒体推广产品
  • 知名的集团门户网站建设企业网站设计制作一条龙
  • 网站制作创业百度竞价排名平台
  • 旅游网站内容规划九个关键词感悟中国理念
  • 哪个网站做攻略比较好焊工培训内容
  • 社会保险网站建设方案seo论坛站长交流
  • java .net做网站百度导航2023年最新版
  • 网站备案 申请搜索引擎营销的内容
  • 网站开发应财务如何记账疫情最新资讯
  • 河北响应式网站建设平台seo外包公司排名
  • 临沂网站建设首选浩瀚网络电子商务营销策略有哪些
  • 便利的龙岗网站设计沈阳seo公司
  • 目前济南疫情最新情况网络优化排名培训
  • 广州建设交易中心网站首页自助网站建设
  • seo的最终是为了达到网站排名seo教程
  • 天津网站建站公司网络推广工作室
  • 现在给别人做网站seo优化中以下说法正确的是
  • 宁波市高新区建设局网站百度一下 你就知道官方
  • wpf做网站百度推广充值必须5000吗
  • 建站导航博客网站登录入口
  • 做网站宜宾百度网页版浏览器入口
  • 北京的建设网站公司百度手机助手下载安卓版
  • 大连做网站不错的公司seo综合查询怎么关闭
  • 如何做网站的内容短视频赚钱app软件
  • php网站建设用什么企业网站的推广阶段
  • 自己做网站卖阀门百度推广收费标准
  • 电子商务网站怎么备案白度指数
  • 如何自己做个人微信小程序南宁优化推广服务