欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LintCode 题目:三数之和

程序员文章站 2022-03-24 17:54:43
...

URL:https://www.lintcode.com/problem/3sum-smaller/description

描述

给定一个n个整数的数组和一个目标整数target,找到下标为i、j、k的数组元素0 <= i < j < k < n,满足条件nums[i] + nums[j] + nums[k] < target.

样例

样例1

输入: nums = [-2,0,1,3], target = 2
输出: 2
解释:
因为有两种三个元素之和,它们的和小于2:
[-2, 0, 1]
[-2, 0, 3]

样例2

输入: nums = [-2,0,-1,3], target = 2
输出: 3
解释:
因为有三种三个元素之和,它们的和小于2:
[-2, 0, 1]
[-2, 0, 3]
[-2, -1, 3]

在代码段中添加:

int count = nums.size();
        int n;
        for (int i = 0; i < count-2; i++) {
            /* code */
            for (int j = i+1; j < count-1; j++) {
            /* code */
                for (int k = j+1; k < count; k++) {
                /* code */
                    if(nums[i]+nums[j]+nums[k]<target)
                        n++;
                }
            }
        }
        return n;

即可:

LintCode 题目:三数之和