LintCode 题目:三数之和

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;

即可:

发布了303 篇原创文章 · 获赞 550 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_42410605/article/details/103207006