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

力扣2563.统计公平数对的数目

文章目录

  • 题目介绍
  • 解法

题目介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解法

红蓝染色体法

class Solution {
    public long countFairPairs(int[] nums, int lower, int upper) {
        long res = 0;
        Arrays.sort(nums);
        for(int i = 0; i < nums.length -1; i++){
            int left = lowerBound(nums,lower - nums[i],i + 1); // >= lower-nums[i] 的位置
            int right = lowerBound(nums,upper - nums[i] + 1,i + 1) - 1; // <= upper-nums[j]的位置
            res = res + right - left + 1;
        }
        return res;
    }
    public int lowerBound(int[] nums, int target, int startidx) {
        int left = startidx, right = nums.length - 1; 
        while (left <= right) { 
            int mid = left + (right - left) / 2;
            if (nums[mid] < target) {
                left = mid + 1; 
            } else {
                right = mid - 1; 
            }
        }
        return left;
    }
}

http://www.kler.cn/news/317878.html

相关文章:

  • 【chromedriver编译-绕过selenium机器人检测】
  • st7735 stm32f103 lvgl调试记录3,spi篇
  • vue3ElementPlus使两个日期联动控制(限制结束时间为开始时间的一个月)
  • fastadmin本地安装插件提示”请从官网渠道下载插件压缩包(code:2)(code:1)“
  • iPhone 16 开始支持全新的 JPEG XL 格式
  • API 架构(RPC和RESTful)
  • 跳转页面(持续更新...)
  • 软件架构设计原则
  • mysql如何替换数据库所有表中某些字段含有的特定值
  • 虚拟机centos_7 配置教程(镜像源、配置centos、静态ip地址、Finalshell远程操控使用)
  • 目标检测基本知识
  • 线性dp 总结详解
  • Vue3:$refs和$parent实现组件通信
  • 【树莓派】python3程序获取CPU和GPU温度
  • 无人机之战斗机的详解!
  • 单片机学到什么程度才可以去工作?
  • WebGL纹理与材质
  • 【C++二叉树】236.二叉树的最近公共祖先
  • 使用three.js+vue3完成无人机上下运动
  • 汽车售后诊断ECU参数分析
  • 寄宿制学校自闭症教育:为每个孩子创造奇迹
  • spring boot项目对接人大金仓
  • 线性代数学习笔记~
  • 初识JavaScript
  • 【图像压缩与重构】基于BP神经网络
  • 新版torch_geometric不存在uniform、maybe_num_nodes函数问题(Prune4ED论文报错解决)
  • python request库的使用
  • 深度学习领域相关的专业术语(附带音标解释)
  • EtherCAT转Profient协议网关简述
  • MySQL函数及存储过程