2824. 统计和小于目标的下标对数目 --力扣 --JAVA

简介: 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0 <= i < j < n 且 nums[i] + nums[j] < target 的下标对 (i, j) 的数目。

 题目

给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0 <= i < j < nnums[i] + nums[j] < target 的下标对 (i, j) 的数目。

解题思路

    1. 对数组进行排序,可以利用List自带的sort函数传递比较规则(代码中的是倒序,也可以直接传null为默认的顺序排序)
    2. 通过两层循环进行遍历,第二层循环当出现符合条件的则剩余元素都符合,可以跳出当前循环减少消耗;

    代码展示

    class Solution {
        public int countPairs(List<Integer> nums, int target) {
            nums.sort((a, b) -> b - a);
            int sum = 0;
            int n = nums.size();
            for (int i = 0; i < n; i++){
                int temp = nums.get(i);
                for (int j = i + 1; j < n; j++){
                    if(temp + nums.get(j) < target){
                        sum += n - j;
                        break;
                    }
                }
            }
            return sum;
        }
    }

    image.gif


    目录
    相关文章
    |
    13天前
    |
    Unix Shell Linux
    LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
    本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
    LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
    |
    3天前
    |
    缓存 Java Maven
    java: 警告: 源发行版 11 需要目标发行版 11 无效的目标发行版: 11 jdk版本不符,项目jdk版本为其他版本
    如何解决Java项目中因JDK版本不匹配导致的编译错误,包括修改`pom.xml`文件、调整项目结构、设置Maven和JDK版本,以及清理缓存和重启IDEA。
    12 1
    java: 警告: 源发行版 11 需要目标发行版 11 无效的目标发行版: 11 jdk版本不符,项目jdk版本为其他版本
    |
    2月前
    |
    Java
    成功解决:java: 无效的目标发行版: 17
    这篇文章讲述了如何解决在启动SpringBoot项目时遇到的"无效的目标发行版: 17"的问题,主要是通过修改IDEA内置的编译设置,确保它使用正确的JDK版本。
    |
    2月前
    |
    存储 算法 Java
    LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
    LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
    22 0
    |
    3月前
    |
    缓存 Java 应用服务中间件
    Java编程问题之重试机制问题之在CGLIB中设置目标对象类并创建代理类如何解决
    Java编程问题之重试机制问题之在CGLIB中设置目标对象类并创建代理类如何解决
    |
    4月前
    |
    Java Serverless
    Java字符个数统计代码
    Java字符个数统计代码
    71 6
    |
    3月前
    |
    存储 算法
    经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
    经典的滑动窗口的题目 力扣 2799. 统计完全子数组的数目(面试题)
    |
    4月前
    |
    缓存 Java
    java: 警告: 源发行版 17 需要目标发行版 17,java17 无效的目标发行
    java: 警告: 源发行版 17 需要目标发行版 17,java17 无效的目标发行
    2072 3
    |
    3月前
    2670.找出不同元素数目差数组-力扣(LeetCode)
    2670.找出不同元素数目差数组-力扣(LeetCode)
    23 0
    |
    3月前
    |
    Java jenkins 持续交付
    Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
    【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
    109 0