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

做网站挣钱吗seo页面如何优化

做网站挣钱吗,seo页面如何优化,吉他网站怎么做,简述网站制作方案和主要内容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/481846.html

相关文章:

  • 优质的低价网站建设社交媒体营销三种方式
  • 营销网站规划的要点包括( )泉州百度广告
  • 专业下载网站源码怎么弄自己的网站
  • 免费做h5的网站知乎矿泉水软文广告500字
  • 门户网站建站要求云南疫情最新消息
  • 成都网站开发公司有哪些会计培训班
  • 物流网站风格网站制作多少钱
  • 那个网站做网站托管推广产品的方式有哪些
  • wordpress前台上传广东seo外包服务
  • 做网站百度新闻源上海最专业的seo公司
  • 做网站ps注意事项品牌推广渠道有哪些
  • 如何做网站英文简历模板semester
  • 网站源码怎么绑定域名如何被百度收录
  • 网站建设力度如何给网站做推广
  • 做家电维修网站能接到单吗爱站工具包怎么使用
  • 珠宝手机网站模板百度指数查询手机版
  • 9420高清在线观看免费大全广东企业网站seo报价
  • 东莞志豪建设公司网站宝鸡seo外包公司
  • 自己想做个网站怎么做的线上推广软件
  • 一网一平台是什么seo公司哪家好用
  • 做餐饮在环保局网站备案平台营销
  • 河池市住房城乡建设网站最能打动顾客的十句话
  • 江苏苏州网站建设如何制作简单的网页链接
  • 江苏连云港网站设计公司seo什么职位
  • 简单网页设计模板代码大全亚马逊seo是什么意思
  • 网站备案证书打印朋友圈广告怎么投放
  • 城阳做网站找哪家搜外
  • word超链接网站怎样做cps推广平台
  • 河南企业网站建设公司sem是什么意思的缩写
  • 网站营销与推广网络推广方案的内容