小红书笔试AK7.23

第一题签到

第二题,题目讲的有点模糊,很容易让人读不懂题,大致就是给你多个不重叠的区间,然后你需要选择一个长度为k的连续区间,使其中被标记的空间数量最大。解法:二分搜索

第三题,题目意思大致就是给定一个数组与一个数字val,你可以任意的讲数组中的一个值替换成val,求最大连续子数组和。解法:dp,存储数组中每个下标的状态,0代表到这个位置还没有替换,1代表已经替换过一次,从而推导状态转移方程。

题目挺有意思的,整体难度不大,就是第二题题目描述不是很清楚。

//第一题
#include <iostream>
#include <cmath>
#include <algorithm>
#define ll long long
using namespace std;
int main(){
    ll n,k;
    cin>>n>>k;
    ll ans=n*(n+1)/2;
    ans=ans*k;
    cout<<ans<<endl;
}

//第三题
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#define ll long long
using namespace std;
const int N = 2e5+5;
ll k[N];
ll dp[N][2];
int main(){
    int T;
    cin>>T;
    while(T--){
        memset(dp,0,sizeof(dp));
        ll n,val;
        ll ans=-10000000009;
        cin>>n>>val;
        for(int i=0;i<n;i++){
            cin>>k[i];
        }
        dp[0][0]=k[0];
        dp[0][1]=val;
        ans=max(ans,dp[0][1]);
        ans=max(ans,dp[0][0]);

        for(int i=1;i<n;i++){
            dp[i][1]=max(max(dp[i-1][1]+k[i],k[i]),max(dp[i-1][0]+val,val));
            dp[i][0]=max(dp[i-1][0]+k[i],k[i]);
            ans=max(ans,dp[i][1]);
            ans=max(ans,dp[i][0]);
        }
        cout<<ans<<endl;
    }
}


//第二题
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#define ll long long
using namespace std;
const int N = 1e5+5;
struct kk{
    ll bepos;
    ll enpos;
    ll val;
    ll sum;
}Mess[N];
bool cmp(kk a,kk b){
    return a.bepos<b.bepos;
}
ll erfen(ll low,ll high,ll aim){
    ll mid=(low+high)/2;
    while(low<high){
        ll x=Mess[mid].enpos;
        if(x>=aim){
            high=mid;
        }else{
            low=mid+1;
        }
        mid=(low+high)/2;
    }
    return high;
}
int main(){
    ll n,m,k;
    cin>>n>>m>>k;
    Mess[0].sum=0;
    for(int i=1;i<=m;i++){
        cin>>Mess[i].bepos>>Mess[i].enpos;
        Mess[i].val=Mess[i].enpos-Mess[i].bepos;
        Mess[i].sum=Mess[i-1].sum+Mess[i].val;
    }
    Mess[m+1].bepos=n+1;
    Mess[m+1].enpos=n+1;
    Mess[m+1].sum=Mess[m].sum;
    sort(Mess+1,Mess+1+m,cmp);
    // for(int i=1;i<=m+1;i++){
    //     cout<<Mess[i].bepos<<' '<<Mess[i].enpos<<endl;
    // }
    ll ans=0;
    for(int i=1;i<=m;i++){
        ll vals=0;
        int be=Mess[i].bepos;
        int en=Mess[i].bepos+k;
        // cout<<be<<' '<<en<<"  message"<<endl;
        if(en>=n){
            vals=Mess[m].sum-Mess[i-1].sum;
        }else{
            int nextindex=erfen(i,m+1,en);
            vals=Mess[nextindex-1].sum-Mess[i-1].sum;
            if(en>Mess[nextindex].bepos){
                vals+=en-Mess[nextindex].bepos;
            }
            // cout<<"index: "<<nextindex<<endl;
            // cout<<nextindex<<endl;
        }
        ans=max(ans,vals);

    }
    cout<<ans<<endl;
}
全部评论
没啥说的,我承认跟你智商有差距,另外 tm 的笔试题出的这么恶心这破公司我都不想去了,感觉出题的不会说中国话
3 回复 分享
发布于 2023-07-23 21:31 北京
需要的友友可以看看我首页米哈游有大量岗位,实习和正式,可以找我了解。
1 回复 分享
发布于 2023-07-23 23:16 上海
第一题代码啥思路啊
1 回复 分享
发布于 2023-07-23 21:18 浙江
第三题我的思路跟你一样每调出来😭
1 回复 分享
发布于 2023-07-23 21:11 北京
请问一下,第二题是什么思路
点赞 回复 分享
发布于 2023-07-24 10:41 安徽
第二题差分加滑动窗口不可以吗?或者只用滑动窗口。我只过了36%
点赞 回复 分享
发布于 2023-07-23 21:29 浙江
膜拜大佬
点赞 回复 分享
发布于 2023-07-23 21:17 黑龙江
阿这,大佬接受我的膝盖😭
点赞 回复 分享
发布于 2023-07-23 21:09 北京
第二题真的是读不懂题目😂😂
点赞 回复 分享
发布于 2023-07-23 21:08 上海
大佬全ac了?
点赞 回复 分享
发布于 2023-07-23 21:07 陕西

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
07-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
nus2201602...:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
Gaynes:查看图片
点赞 评论 收藏
分享
07-04 21:23
已编辑
东莞城市学院 后端
秋招和春招只收到几个中大厂的笔试,本人比较菜,感觉大厂的笔试太难,算法题不能全部做出来就没过了,但是CVTE和小天才的感觉不是很难,基本上都做出来了,笔试还是挂了。Boss上投了Java后端开发都没有回音,boss上有面试机会都是C#工控软件开发方向的,但是这个方向不太懂,资料又少,面试的表现有点差,现在还是想看看Java这边,面试的时候比较有把握点。想请教一下,这份简历还有什么问题,一直没什么机会,还有什么地方要修改的。
程序员小白条:学历太差,民办和公办,外包还得区分的,这个学历+这个简历,没的办法,除非你有人脉,太难了,这环境,何况你都毕业了,连一段实习都没,肯定没公司会挑选了,没竞争力,开发才招几个人,跟你竞争的可不是二本,三本的人哦,何况你在二本,三本里面也排名不高
投递小天才等公司8个岗位
点赞 评论 收藏
分享
评论
18
43
分享

创作者周榜

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