【LeetCode刷题-双指针】--259.较小的三数之和

259.较小的三数之和

方法:排序+双指针

java 复制代码
class Solution {
    public int threeSumSmaller(int[] nums, int target) {
        Arrays.sort(nums);
        int k = 0;
        for(int i = 0;i<nums.length;i++){
            int start = i + 1,end = nums.length - 1;
            while(start < end){
                int sum = nums[start] + nums[end] + nums[i];
                if(sum < target){
                    k += (end - start);  //因为数组排好序了,所以start到end中的数都小于target
                    start++;
                }
                if(sum >= target){
                    end--;
                }
            }
        }
        return k;
    }
}
相关推荐
Trouvaille ~2 分钟前
【Redis篇】Hash 哈希:字段级操作与对象存储的最佳实践
数据库·redis·后端·算法·缓存·哈希算法·键值对
辞忧九千七8 分钟前
吃透Redis7核心数据结构:从基础用法到实战场景(Python版)
开发语言·数据结构·redis·python
悠仁さん9 分钟前
数据结构 树 二叉树 堆 (链式二叉树模拟实现篇)
数据结构·算法
z2005093020 分钟前
今日算法(带回文问题的回溯)
算法·leetcode·回溯
洛水水22 分钟前
【力扣100题】55.编辑距离
算法·leetcode·动态规划
better_liang25 分钟前
每日Java面试场景题知识点之-MySQL底层数据结构B+树
java·数据结构·mysql·性能优化·面试题·b+树·数据库索引
洛水水35 分钟前
【力扣100题】62.滑动窗口最大值
数据结构·算法·leetcode
IronMurphy39 分钟前
算法五十一 64. 最小路径和
算法
醒醒该学习了!43 分钟前
Prompt提示词——带有深度思考模型的提示方法(理论篇)
人工智能·算法·prompt
君为先-bey44 分钟前
Latte——视频生成的潜在扩散变换器
算法·机器学习·音视频·扩散模型