深信服 9.16笔试(挂经) 第三题求大佬指正

//第一题 最大公约数

int f(int a, int b){
    int maxi=max(a,b);
    int mini=min(a,b);
    if(maxi%mini==0) return mini;
    return f(maxi%mini, mini);
}


int main(){
    int a,b;
    cin>>a>>b;
    cout<<f(a,b)<<endl;
}


//第二题 病毒

int main(){
    int n, x;
    cin>>n>>x;
    int l,r,temp_l,temp_r;
    int val;
    cin>>val;
    l=max(0,val-x);
    r=val+x;
    int result=0;
    for(int i=1;i<n;i++){
        cin>>val;
        temp_l=max(0, val-x);
        temp_r=val+x;
        if(temp_r<l || temp_l>r){
            result++;
            l=temp_l;
            r=temp_r;
        }else{
            l=max(temp_l, l);
            r=min(temp_r, r);
        }
    }
    cout<<result<<endl;
    return 0;
}
//第三题 包含最多连续1的个数

int main()
{
    int n;
    string str;
    cin >> n >> str;
    vector<int> mem;
    int length = 0;
    bool flag = false;
    int i = 0;
    while (i < str.size())
    {
        if (str[i] == '1')
        {
            int pre = i;
            while (i < str.size() && str[i] == '1')
                i++;
            if (i - pre > length)
            {
                length = i - pre;
                mem.clear();
                mem.push_back(pre);
            }
            else if (i - pre == length)
            {
                mem.push_back(pre);
            }
        }
        else
            i++;
    }
    if (length == 0)
    {
        cout << 0 << endl;
        return 0;
    }
    int mod = 1000000007;
    unsigned long long result = 0;
    int pre = 0;
    for(auto index:mem){
        result=(result+(index-pre+1)*(n-(index+length)+1))%mod;
        pre=index+1;
    }
    cout << result << endl;
    return 0;
}


1,2ac 第三题最后才恍然大悟可以包含多个最长连续1 只要去冲就可以了,没来得及改就到时了 g楼,笔试又挂喽



#深信服笔试题#
全部评论
最近老是考完了就明白咋写 也是醉了
点赞 回复 分享
发布于 2022-09-16 21:37 日本
同学同花顺尝试一下吗,面试简单不造火箭,我帖子有内推
点赞 回复 分享
发布于 2022-09-17 00:47 浙江
第三题去重是啥意思
点赞 回复 分享
发布于 2022-09-17 16:44 河北
AC两个也挂吗
点赞 回复 分享
发布于 2022-09-18 18:33 广东
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复 分享
发布于 2022-09-19 10:59 北京
我过了一道,就受到面试了
点赞 回复 分享
发布于 2022-09-20 11:10 陕西

相关推荐

3 6 评论
分享
牛客网
牛客企业服务