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

微信息公众平台微网站建设郴州网站建设费用价格

微信息公众平台微网站建设,郴州网站建设费用价格,企业网站续费,专业网站建设开发问题背景 给你一个下标从 0 0 0 开始、长度为 n n n 的整数数组 n u m s nums nums,和两个整数 l o w e r lower lower 和 u p p e r upper upper,返回 公平数对的数目 。 如果 ( i , j ) (i, j) (i,j) 数对满足以下情况,则认为它是一…

问题背景

给你一个下标从 0 0 0 开始、长度为 n n n 的整数数组 n u m s nums nums,和两个整数 l o w e r lower lower u p p e r upper upper,返回 公平数对的数目 。
如果 ( i , j ) (i, j) (i,j) 数对满足以下情况,则认为它是一个 公平数对 :

  • 0 ≤ i < j < n 0 \le i < j < n 0i<j<n,且
  • l o w e r ≤ n u m s [ i ] + n u m s [ j ] ≤ u p p e r lower\le nums[i] + nums[j] \le upper lowernums[i]+nums[j]upper

数据约束

  • 1 ≤ n u m s . l e n g t h ≤ 1 0 5 1 \le nums.length \le 10 ^ 5 1nums.length105
  • n u m s . l e n g t h = n nums.length = n nums.length=n
  • − 1 0 9 ≤ n u m s [ i ] ≤ 1 0 9 -10 ^ 9 \le nums[i] \le 10 ^ 9 109nums[i]109
  • − 1 0 9 ≤ l o w e r ≤ u p p e r ≤ 1 0 9 -10 ^ 9 \le lower \le upper \le 10 ^ 9 109lowerupper109

解题过程

对于任意一个 n u m s [ j ] nums[j] nums[j],能与它构成公平数对的 n u m s [ i ] nums[i] nums[i] 范围是 l o w e r − n u m s [ i ] ≤ n u m s [ j ] ≤ u p p e r − n u m s [ i ] lower - nums[i] \le nums[j] \le upper - nums[i] lowernums[i]nums[j]uppernums[i]
由于题目要求只是从数组中挑选两个数字,数组中元素的顺序不影响最终的结果,可以先排序,用二分查找。

具体实现

class Solution {public long countFairPairs(int[] nums, int lower, int upper) {Arrays.sort(nums);long res = 0;for (int i = 0; i < nums.length; i++) {int right = binarySearch(nums, i, upper - nums[i] + 1);int left = binarySearch(nums, i, lower - nums[i]);res += right - left;}return res;}private int binarySearch(int[] nums, int right, int target) {int left = 0;while (left < right) {int mid = left + ((right - left) >>> 1);if (nums[mid] < target) {left = mid + 1;} else {right = mid;}}return left;}
}
http://www.dtcms.com/a/441906.html

相关文章:

  • leetcode 35.搜索插入的位置 python
  • 探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧——容器化部署深度解析
  • 信奥赛CSP-J复赛集训(语法基础专题)(1):三位数排序(文末附讲课视频)
  • 购物分享网站怎么做的网站建设服务中心
  • 【深度学习新浪潮】数据合成领域近三年研究进展与开源项目调研
  • 【嵌入式Linux - 应用开发】音频(ALSA 框架)
  • 获得场景视频API开发(02):H5前端上传视频之Java转 PHP实现方案
  • 枣阳网站建设公司c 在网站开发方面有优势吗
  • SpringMVC中的常用注解及使用方法
  • PyQt6实例_个股收盘价和市盈率TTM
  • Windows 环境下安装 Node.js 和 Vue.js 框架完全指南
  • C语言第3讲:分支和循环(上)—— 程序的“决策”与“重复”之旅
  • 09.Docker compose
  • 梁山专做网站的公司徐州便民信息网
  • HarmonyOS 应用开发深度解析:ArkTS 状态管理与渲染控制的艺术
  • ThreadX全家桶迎来移交Eclipse基金会后的第2次更新,发布V6.4.3版本,更新终于回到正轨
  • 中国工信备案查询网站哪个网站能免费下载
  • 网站图片上传功能怎么做设计网红店铺
  • 保姆级 Docker 入门到进阶
  • 网站建站网站80s隐秘而伟大新网站怎么做谷歌推广呢
  • uv 配置国内镜像加速教程
  • Leetcode 295. 数据流的中位数 堆
  • Go 语言的 channel
  • python包管理器——uv
  • 【LeetCode】92. 反转链表 II
  • LeetCode:90.最长有效括号
  • AI 重塑行业格局:从金融风控到智能制造的深度实践
  • 网站开发公共文件太仓营销型网站建设
  • MSM多标量乘法:策略及挑战
  • 做58一样的网站网站如何在国外推广