LeetCode OJ 3Sum Closest

来源:互联网 发布:淘宝网店在哪里看 编辑:程序博客网 时间:2024/06/11 01:31

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

    For example, given array S = {-1 2 1 -4}, and target = 1.    The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

居然连时间复杂度都不用考虑。。。

class Solution {public:    int threeSumClosest(vector<int> &num, int target) {        int ans;        int error;        int min_error = 999999;        for (int i = 0; i < num.size(); i++) {            for (int j = i + 1; j < num.size(); j++) {                for (int k = j + 1; k < num.size(); k++) {                    error = num[i] + num[j] + num[k] - target;                    if (error < 0) {                        error = -error;                    }                    if (error < min_error) {                        ans = num[i] + num[j] + num[k];                        min_error = error;                    }                    if (error == 0) {                        return target;                    }                }            }        }        return ans;    }};


0 0
原创粉丝点击