滴滴2026届秋招笔试题后端方向
赛码平台,和小米的一样。
选择题有很多涉及到linux的命令,选择题有java的也有c++的,问这个代码运行之后会出现什么
第一个题,感觉是dp,给出n个电量还有对应的花费,要凑出电量是1,要保证花费最小,如果凑不出1,就返回-1写出来了但是只有91%正确率.
第二个题,每次都取出最大的一个数+1,然后给最小的数字-1,暴力模拟超时,只过了18%。
#发面经攒人品##我的秋招日记##笔试##秋招##牛客AI配图神器#
选择题有很多涉及到linux的命令,选择题有java的也有c++的,问这个代码运行之后会出现什么
第一个题,感觉是dp,给出n个电量还有对应的花费,要凑出电量是1,要保证花费最小,如果凑不出1,就返回-1写出来了但是只有91%正确率.
第二个题,每次都取出最大的一个数+1,然后给最小的数字-1,暴力模拟超时,只过了18%。
#发面经攒人品##我的秋招日记##笔试##秋招##牛客AI配图神器#
全部评论

多学习一些

继续学习,冲刺!
#include<bits/stdc++.h>
using namespace std;
const int N=3010;
const int M=1e5+10;
int n,sum,dp[M];
struct stu{
int a;
int b;
}s[N];
bool cmp(stu x,stu y){
if(x.a!=y.a)return x.a>y.a;
else return x.b<y.b;
}
int main(){
memset(dp,0x3f,sizeof dp);
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i].a>>s[i].b;
if(s[i].a>0)sum+=s[i].a;
}
sort(s,s+n,cmp);
dp[0]=0;
for(int i=0;i<n;i++){
for(int j=0;j<=sum;j++){
if(j>=s[i].a)dp[j]=min(dp[j],dp[j-s[i].a]+s[i].b);
}
}
if(dp[1]!=0x3f3f3f3f)cout<<dp[1];
else cout<<"-1";
return 0;
}编程题代码
相关推荐
09-08 16:54
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享