题解 | #牛群的标签和#

牛群的标签和

https://www.nowcoder.com/practice/42ae88bedeb74da99813f6150769d07e

题目考察的知识点:双指针

题目解答方法的文字分析:暴力遍历,求出每种可能,符合条件则保留;可以优化一下,如:a[i]>target,则break;a[i]+b[j]>target,则break。

本题解析所用的编程语言:c++

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @param target int整型 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > fourSum(vector<int>& nums, int target)
    {
        // write code here
        vector<vector<int>> ret;
        sort(nums.begin(), nums.end());
        for (int a = 0; a < nums.size() - 3; ++a)
            for (int b = a + 1; b < nums.size() - 2; ++b)
                for (int c = b + 1; c < nums.size() - 1; ++c)
                    for (int d = c + 1; d < nums.size(); ++d)
                    {
                        vector<int> t(4);
                        t[0] = nums[a],t[1] = nums[b],t[2] = nums[c],t[3] = nums[d];

                        if (t[0] + t[1] + t[2] + t[3] == target)
                            if (ret.empty() || ret[ret.size() - 1] != t)
                                ret.push_back(t);
                        else if (t[0] + t[1] + t[2] + t[3] > target)
                            break;
                    }
        return ret;
    }
};

全部评论

相关推荐

看网上说华为1145每个人都会收到,请问华为1145是什么东西
老黑奴:面试如果通过当天晚上11:45会收到面试反馈邮件
点赞 评论 收藏
分享
熊大不大:微信也是华为旗下吧,我看我朋友也是华为工牌写wx
点赞 评论 收藏
分享
09-24 11:06
辽宁大学 市场
深莞高速因为台风都封掉了,华为协商后,特地开通华为通道,凭工卡可以正常通勤......
崔喃喃:“台风您好,19级专家已驳回了您18级台风的OA登陆申请”
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务