2022 年 4 月 10 日拼多多笔试题解(AC3道)


2022年5月12日,已offer。
================================分割线===================================
这是第一次在牛客上些文章,有点不太习惯。我是昨天投递的拼多多,今天晚上参加的笔试。之前参加了一些大厂的面试,都没有收到很好的offer,孩子哭了。
因此写一波题目分析加上自己很low的代码攒一波幸运值吧,球球给孩子一个offer吧。
因为是孩子第一次在牛客上发文章,希望大家多多包容 ,也希望每个人都能够找到满意的OFFER,加油!

第一题

关于鹅卵石的颜色,还有颜色的等差数列之类的。
100%
#include <iostream>
#include <vector>
using namespace std;
//int a[100005];//鹅卵石 
//100%
int m[100005][2];//
int main() {
    int n;
    cin>>n;
    int tmp;
    
    for(int i=1;i<=n;i++){
    	cin>>tmp;
    	if(m[tmp][0]==-1){
    		continue;
		}
		
		if(m[tmp][0]==0){
			m[tmp][0]=i; //记录首个位置 
		}else{
			//之前的记录正确 
			int d=i-m[tmp][0];
			//第二次出现 
			if(m[tmp][1]==0){
				m[tmp][0]=i;
				m[tmp][1]=d;
			//>=3次出现 
			}else if(m[tmp][1]==d){
				m[tmp][0]=i;
			}else if(m[tmp][1]!=d){
				m[tmp][0]=-1; 
			} 
		} 
	} 
	int cnt=0;
	for(int i=1;i<=100005;i++){
		if(m[i][0]!=0&&m[i][0]!=-1){
			cnt++;
		}
	}
	cout<<cnt<<endl;
	for(int i=1;i<=100005;i++){
		if(m[i][0]!=0&&m[i][0]!=-1){
			cout<<i<<" "<<m[i][1]<<endl; 
		}
	}   
    return 0;
}
//5
//1 1 2 1 3

第二题

关于一道BFS的题目,因为这类题目我写的话,边界条件往往要找很久,不太擅长,就跳过去了没有做。
0%。

第三题

电影院排座问题,有一个注意点,需要是long long 类型,要么最后只通过80%。
100%
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//100%
//int a[100000005];
long long int arr[100005];
long long int M,N,q,L,R;

long long int index(long long int l,long long int r){
	if(r<l){
		return l;
	}//终止查询
	 
	long long int mid=(l+r)/2;
	if(arr[mid]==L){
		return mid;
	}else if(arr[mid]<L){
		return index(mid+1,r);
	}else {
		//arr[mid]>L 
		return index(l,mid-1);
	}
} 
int main() {
    cin>>N>>M;
    long long int tmp;
    for(long long int i=0;i<N;i++){
    	cin>>tmp;
		arr[i]=tmp;
	}
	
	sort(arr,arr+N);//从小到大进行排序
	 
	cin>>q;
	for(long long int i=0;i<q;i++){
		cin>>L>>R;
		bool flag=false;
		//二分查找L,或者比L小的最大值 
		long long int li=index(0,N-1); 
		if(arr[li]==L){
			for(long long int j=li+1;j<N&&arr[j-1]+1<=R;j++){
				if(arr[j]-arr[j-1]>1){
					flag=true;
					cout<<arr[j-1]+1<<endl;
					break;
				}
			}
			if(flag==false){
				cout<<-1<<endl;
			}
		}
		else {
			cout<<L<<endl;
		}
	}
	 
    return 0;
}

//5 10000000000
//3 5 999999997 7 999999998
//100
//999999999 10000000000
//3 7
//6 8
//3 3
//3 4

第四题

这是一道安排的问题,有些人说是动态规划,但是我是用贪心做的。核心在于代码中的tmax,最大的时间。
100%
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//100%
long long int m,n,x;
long long int ans;
long long int a[505];//到达时间 
int main() {
	//车,载重,时间 
    cin>>m>>n>>x;
    long long int tmp;
    for(long long int i=0;i<m;i++){
    	cin>>tmp;
    	a[i]=tmp;
	}
	sort(a,a+m);//排好序
	if(m==0){
		cout<<0<<endl;
		return 0;
	}
	ans=a[m-1]+x;//最后一程
	long long int tmax=a[m-1];//当前的最大时间 
	for(long long int i=m-1-n;i>=0;){
		if(a[i]+2*x>tmax){
			ans=ans+a[i]+2*x-tmax;
			tmax=a[i];
			i=i-n;
		}
		else{
			tmax=tmax-2*x;
			i=i-n;
		}
//		else{
//			break;
//		}
	} 
    cout<<ans<<endl;
	
    return 0;
}
//10 2 10
//10
//10
//10
//10
//10
//10
//10
//10
//40
//40

最后的最后,疫情反复,希望大家注意防护。也希望在今年4月收获满意的OFFER,大家加油!!!
#拼多多笔试##春招##实习##笔试题目##拼多多#
全部评论
你好,能请你说一下第三题的贪心思路吗?没看到代码的逻辑。谢谢
点赞 回复 分享
发布于 2022-04-11 15:54
我最后一题也是贪心,但就过了80%。我的思路是j = m-n-1,base=a[m-1],ans=a[m-1]+x; while(j>=0){     if(a[j]+2*x=<base){break;}     else{         ans = a[j]+x+(m-1-j)/n*2*x;     } } 楼主能不能说说我哪里错了
点赞 回复 分享
发布于 2022-04-10 22:30

相关推荐

07-15 11:43
门头沟学院 Java
点赞 评论 收藏
分享
06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
评论
14
24
分享

创作者周榜

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