当前位置: 首页 > 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/a/317878.html

相关文章:

  • 怎样修改el-table主题样式
  • USB 驱动开发 --- Gadget 设备连接 Windows 免驱
  • 爬虫学习记录
  • el-table表格合并某一列
  • 实现自定义集合类:深入理解C#中的IEnumerable<T>接口
  • C++ 复习总结记录六
  • 【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参数分析