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

做网站挣钱吗新手做外贸怎么入门

做网站挣钱吗,新手做外贸怎么入门,互联网最好的公司,群晖 直接编辑wordpress2563. 统计公平数对的数目 给你一个下标从 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/376980.html

相关文章:

  • 什么网站是做电机控制的重庆seo代理
  • 建设企业网站平台主要的目的是网站seo关键词优化技巧
  • 优班图搭建网站百度seo2022
  • web端是什么意思seo还有哪些方面的优化
  • 网站域名注册证明百度客服人工电话多少
  • 网站开始开发阶段的主要任务信息流优化师面试常见问题
  • 域名和网站建设南京seo推广
  • 低价建网站seo引擎优化
  • 简单易做的网站seo网上课程
  • 网站推广目标什么意思seo品牌
  • php 网站伪静态百度自然搜索排名优化
  • 瓷器网站源码百度地图推广
  • 网站简繁体转换.rar简述网站推广的方法
  • 企业网站每个月流量费郑州seo服务技术
  • 51网站一起做网店广州谷歌seo排名
  • 按揭车在哪个网站可以做贷款如何做网络推广外包
  • 网络系统管理工作的主要内容合肥seo报价
  • 优化网站关键词怎么做搜索指数的数据来源是什么
  • 公司网站怎样做维护福州排名seo公司
  • 中组部 两学一做网站网络热词2023流行语及解释
  • 云南住房与城乡建设厅网站建设网站
  • 摄影师个人网站怎么做开封网站优化公司
  • 室内装修3d动态演示效果图城市分站seo
  • 个人模板网站怎么做网页
  • alt网站标签怎么做windows优化大师会员
  • 怎么做淘宝客网站和APPseo包年优化费用
  • 网站开发建设协议神马seo服务
  • 网站后台难做吗公司推广网站
  • 新乡营销网站建设seo推广招聘
  • 河南做个人网站百度账号批发网