深信服笔试9.14 c++第一题力扣原题,为啥输出只有20%

#include <iostream>
#include <algorithm>
using namespace std;

int Num(int v[], int len)
{
    int ret = 0;
    sort(v, v + len - 1);
    for (int i = len - 1; i >= 2; i--)
    {
        int right = i - 1;
        int left = 0;
        while (left < right)
        {
            int sum = v[left] + v[right];
            if (sum > v[i])
            {
                ret += (right - left);
                right--;
            }
            else
            {
                left++;
            }
        }
    }
    return ret;
}

int main()
{
    int n;
    cin >> n;
    int v[100];
    for (int i = 0; i < n; i++)
    {
        cin >> v[i];
    }
    int sum = Num(v,n);
    cout << sum << endl;
    return 0;
}
#笔试##深信服##笔经#
全部评论
哈哈哈没做过原题,但一开始也是差不多这样写只过了20,后来发现数据量小直接排序后暴力+剪枝,用set查重ac了
1 回复
分享
发布于 2021-09-14 21:15
力扣原题是包含重复的,这一题不包含重复的
点赞 回复
分享
发布于 2021-09-14 21:12
滴滴
校招火热招聘中
官网直投
机试多少分可以进入面试啊
点赞 回复
分享
发布于 2021-09-14 21:51
我百分之三十,我感觉也没问题,加了去重之后还是百分之三十,可能时间太紧了,去重没写对
点赞 回复
分享
发布于 2021-09-16 23:30
兄弟们病毒怎么做的😢
点赞 回复
分享
发布于 2022-09-14 20:37 北京

相关推荐

点赞 评论 收藏
转发
点赞 评论 收藏
转发
1 3 评论
分享
牛客网
牛客企业服务