小红书笔试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 陕西

相关推荐

不愿透露姓名的神秘牛友
05-29 15:00
教授A:“你为什么要讲这么久,是要压缩我们对你的评议时间吗?你们别以为这样就能够让我们对你们少点意见。”&nbsp;“从你的发言和论文格式就能知道你的性格啊。”…….&nbsp;感觉被狠狠霸凌了。
码农索隆:“教授您好,首先我想回应您提出的两点疑问。” “关于我讲解时间较长的问题:这绝非为了压缩各位老师的评议时间。这份毕业设计是我过去几个月倾注了全部心血的作品,从构思、实验、调试到撰写,每一个环节都反复打磨。我深知时间宝贵,所以选择详细讲解,是希望能更完整、清晰地展示它的核心创新点、实现过程和验证结果,确保老师们能充分理解它的价值和我的努力。我完全理解并重视评审环节的意义,也做好了充分准备来听取各位老师的专业意见和批评。几个月的研究都坚持下来了,我怎么可能害怕老师们的点评呢?今天站在这里,正是抱着虚心学习、诚恳求教的态度而来。” “如果我的展示确实超时,影响了后续流程,烦请老师们随时示意,我会立刻调整。我非常期待并预留了充足的时间,希望能听到老师们宝贵的建议和深入的讨论。” “其次,关于您提到‘从发言和论文格式就能知道我的性格’。教授,我对此感到非常困惑和不安。学术研究和答辩的核心,难道不应该是作品本身的质量、逻辑的严谨性、数据的可靠性和结论的合理性吗?论文格式有明确的规范要求,我尽最大努力遵循了这些规范。如果格式上存在疏忽或不足,这属于技术性、规范性的问题,恳请老师们具体指出,我一定认真修改。但将格式问题或个人表达风格(如讲解时长)直接上升为对个人性格的评判,甚至以此作为质疑我学术态度和动机的依据,这让我感到非常不公平,也偏离了学术评议应有的客观和严谨原则。” “我尊重每一位评审老师的专业权威,也衷心希望能得到老师们对我的工作内容本身的专业指导和批评指正。任何基于研究本身的意见,无论多么尖锐,我都会认真聆听、反思并改进。但我恳请老师们,能将评议的焦点放在我的研究本身,而不是对我个人进行主观的推断或评价。谢谢各位老师。”
点赞 评论 收藏
分享
04-29 18:07
常州大学 Java
寂静羽翼:兄弟我已经亲身经历了,双非没实习很多大厂还是会给笔试的,可是有的公司笔试做的好也不给面一直卡着,ssob基本看我没实习都拒绝我了,但是每天投满偶尔也能有一两场初创公司的面试,但是薪资基本在五六千
点赞 评论 收藏
分享
评论
18
43
分享

创作者周榜

更多
牛客网
牛客企业服务