百度笔试题(10分钟ak,含代码)

十分钟ak,没啥好说的,反正把我挂了,随便做做。

第一题直接判断一下(n+m)的奇偶性就行,代码暂无。

第二题:直接分a[i] > b[i] 和 a[i] < b[i] 即可然后贪心一下:

#include<bits/stdc++.h>
using namespace std;
int n;

long long a[100005],b[100005];

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        cin>>b[i];
    }
    long long res1 = 0;
    long long res2 = 0;
    for(int i=1;i<=n;i++){
        if(a[i] > b[i]){
            res1 = res1 + a[i] - b[i];
        }
        else{
            res2 = res2 + b[i] - a[i];
        }
    }
    cout<<max(res1,res2)<<endl;
}

第三题:二分+差分即可(线段树也可)

#include "bits/stdc++.h"
using namespace std;
long long sub[100005];
long long a[100005];
int rr[100005],ll[100005];
int n,m;

bool check(int x){
    for(int i=1;i<=n;i++){
        sub[i] = 0;
    }
    for(int i=1;i<=x;i++){
        sub[ll[i]] += 1;
        sub[rr[i] + 1] -= 1;
    }
    for(int i=1;i<=n;i++){
        sub[i] = sub[i - 1] + sub[i];
        if(sub[i] > a[i]) return false;
    }
    return true;
}

int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=m;i++){
        cin>>ll[i]>>rr[i];
    }
    int l = 1;
    int r = m;
    int ans = 0;
    while (l<=r){
        int mid = (l+r) >> 1;
        if(check(mid)){
            ans = mid;
            l = mid + 1;
        }
        else{
            r = mid - 1;
        }
    }
    cout<<ans<<endl;
}

#笔试##笔试题解##百度##题解##我的实习求职记录#
全部评论
特么的第二题不longlong只能过16,真***
1
送花
回复 分享
发布于 2023-09-12 21:35 北京
大佬,第三题线段树怎么做?qwq我wa了好久.....
点赞
送花
回复 分享
发布于 2023-09-12 21:34 黑龙江
国泰君安
校招火热招聘中
官网直投
m
点赞
送花
回复 分享
发布于 2023-09-12 22:52 辽宁
同百度笔试,为啥我做的那么难》
点赞
送花
回复 分享
发布于 2023-09-16 09:40 江苏

相关推荐

RESTful&nbsp;API是一种基于HTTP协议的Web服务架构风格,它以资源为中心,通过HTTP方法(如GET、POST、PUT、DELETE)对资源进行操作。下面是一些常见的RESTful&nbsp;API设计规范和最佳实践:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&amp;uuid=b48bebe08e474db8b80b853b12bafd48使用清晰的资源命名:API的端点应该使用名词,而不是动词。例如,使用&quot;/users&quot;来表示用户资源的集合,使用&quot;/users/{id}&quot;来表示单个用户资源。使用HTTP方法进行操作:使用HTTP的不同方法(GET、POST、PUT、DELETE)对资源进行不同的操作。GET用于获取资源,POST用于创建资源,PUT用于更新资源,DELETE用于删除资源。使用HTTP状态码:正确使用HTTP状态码可以提供有关请求结果的信息。常见的状态码有200表示成功,201表示资源创建成功,400表示客户端请求错误,404表示资源不存在等。使用资源版本控制:在API中引入版本控制是一种良好的实践,可以确保对API进行更改时不会破坏现有的客户端应用程序。使用合适的数据格式:常见的数据格式包括JSON和XML,但根据需求也可以选择其他的格式。JSON是当前最常用的格式,因为它是轻量级的、易于阅读和解析的。使用正确的HTTP头部信息:使用合适的Content-Type头部信息来指示请求或响应中的数据格式,并使用合适的Accept头部信息来指示客户端期望的响应数据格式。使用URI来表示关系:在URL中使用合适的路径表示资源之间的层次关系或关联关系,遵循RESTful风格。提供合适的错误处理:在API中,要提供清晰和有用的错误信息,包括错误代码、错误消息和可能的解决方案。使用认证和授权机制:对于需要身份验证和授权的API操作,应该实施适当的安全措施,如使用API密钥、OAuth等来保护资源的访问。
点赞 评论 收藏
分享
头像
05-29 04:56
Java
点赞 评论 收藏
分享
投票
美团 后端开发 15.5薪
点赞 评论 收藏
分享
4 6 评论
分享
牛客网
牛客企业服务