美团 测开 秋招笔试

总共20道选择题+3道代码题(ak) , 希望有面试!!!

20道选择题

  • 数据库
  • 数据结构
  • 散列表,求平均查找长度
  • 共享内存和消息传递对比
  • .....

1.染色

// n个无色的点
// 每次两个操作之一 : 
// 1 . 选一个染成红色
// 2 . 选[l,r],红>无,全变红
// 求n个点全染红的最少次数 

模拟就ok :

#include<bits/stdc++.h>
using namespace std ;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define endl '\n'

// n个无色的点
// 每次两个操作之一 : 
// 1 . 选一个染成红色
// 2 . 选[l,r],红>无,全变红
// 求n个点全染红的最少次数 

// 至少多少次操作  
// 第1次 : 1
// 2 : 2
// 3 : 3
// 4 : 3+2=5
// 5 : 5+4=9
// 6 : 9+8=17 

// a[i] = 2*a[i-1]-1 ;

const int N = 1e5+10 ;
int a[N] ;
int ld = -1 ;

inline void init(){
	a[1] = 1 ;
	a[2] = 2 ;
	a[3] = 3 ;
	a[4] = 5 ;
	int ma = 1e9 ;
	for(int i=5;;i++){
		a[i] = 2*a[i-1]-1;
		if(a[i]>ma) {
			ld = i;
			break ;
		}
	}
}

inline void YSS(){
	int n ; cin >> n ;
	// ld = 32 , 直接暴力
	int ans = -1 ;
	for(int i=1;i<=n;i++){
		if(a[i]>=n){
			ans = i ;
			break ;
		}
	} 
	cout << ans << endl ;
}

signed main(){
	IOS 
	int _ ;
	cin >> _ ;
	init() ;
	while(_--){
		YSS() ;
	} 
	return 0 ;
}

2.判断字符串合法

// 判断字符串是否合法 
// 三个部分要求不同

模拟即可 :

#include<bits/stdc++.h>
using namespace std ;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define endl '\n'

int len = 15 ;

// 判断字符串是否合法 

string B = "invalid" , A = "valid" ;

bool pd(int y){
	return (y%4==0&&y%100!=0) || (y%400==0) ;
}

bool pd1(int x){
	if(x==1||x==3||x==5||x==7||x==8||x==10||x==12) return true ;
	else return false ;
}

int f(string s){
	int x = 0 ;
	for(char c : s){
		x = x * 10 + (c-'0') ;
	}
	return x ;
}

inline void YSS(){
	string s ; cin >> s ;
	bool tag = true ;
	int n = s.size() ;
	if(n!=len) {cout << B << endl ; return ;}
	for(int i=0;i<3;i++){
		if(!(s[i]>='A'&&s[i]<='Z')) {cout << B << endl ; return ;}
	}
	for(int i=3;i<n;i++){
		if(!(s[i]>='0'&&s[i]<='9')) {cout << B << endl ; return ;}
	}
	s = s.substr(3,8) ;
	string a = s.substr(0,4) , b = s.substr(4,2),c=s.substr(6,2) ;
	int year = f(a) , mon = f(b) , day = f(c) ;
	if(pd(year)){
		if(mon<1||mon>12){
			tag = false;	
		}else if(mon==2){
			if(day<1||day>29) tag = false ;
		}else if(pd1(mon)){
			if(day<1||day>31) tag = false ;
		}else{
			if(day<1||day>30) tag = false ;
		}
	}else{
		if(mon<1||mon>12){
			tag = false ;
		}else if(mon==2){
			if(day<1||day>28) tag = false ;
		}else if(pd1(mon)){
			if(day<1||day>31) tag = false ;
		}else{
			if(day<1||day>30) tag = false ;
		}
	}
	if(tag) {cout << A << endl ; return ;}
	else {cout << B << endl ; return ;}
}

signed main(){
	IOS 
	int _ ;
	cin >> _ ;
	while(_--){
		YSS() ;
	} 
	return 0 ;
}

3.最大美观值

// m种不同的标签(每种只有一个)
// 第i种物品,如果贴上ai标签,那么美观值为bi,不贴ai美观值为ci ;

// 求所有物品最大美观值

用哈希表记录,取增加最大的即可 ;

#include<bits/stdc++.h>
using namespace std ;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long
#define endl '\n'
#define pb push_back

// m种不同的标签(每种只有一个)
// 第i种物品,如果贴上ai标签,那么美观值为bi,不贴ai美观值为ci ;

// 求所有物品最大美观值 

inline void YSS(){
	int n , m ; cin >> n >> m ;
	vector<int> a(n+1),b(n+1),c(n+1) ;
	unordered_map<int,vector<int>> mp ;
	for(int i=1;i<=n;i++) cin >> a[i] ;
	for(int i=1;i<=n;i++) cin >> b[i] ;
	for(int i=1;i<=n;i++) cin >> c[i] ;
	int ans = 0 ;
	for(int i=1;i<=n;i++){
		ans += c[i] ;
		if(c[i]<b[i]){
			mp[a[i]].pb(b[i]-c[i]) ;	
		}
	}
	// 对于每一个mp[i],选择一个最大提升即可 
	for(auto& it : mp){
		auto& vc = it.second ;
		sort(vc.begin(),vc.end());
		ans += vc.back() ;
	}
	cout << ans << endl ;
}

signed main(){
	IOS 
	int _ = 1;
	// cin >> _ ;
	while(_--){
		YSS() ;
	} 
	return 0 ;
}

#你都收到了哪些公司的感谢信?##软件开发#
秋招joker 文章被收录于专栏

记录秋招...

全部评论

相关推荐

不放弃的小鱼干很洒脱:好可爱的离职理由
点赞 评论 收藏
分享
双飞二本嵌入式求拷打我是在&nbsp;BOSS&nbsp;上投递的简历,好多都没人回复,这是开场白和简历求大神帮忙看看。您好!我是2025届应届生,最快可在一周内上岗,能够实习六个月以上,并接受加班。以下是我的核心优势和相关经验:1.&nbsp;嵌入式开发能力:&nbsp;&nbsp;&nbsp;熟练掌握STM32系列单片机及其外设(如GPIO、定时器、ADC、DAC、I2C、SPI、UART等),能够独立完成硬件驱动开发和调试。&nbsp;&nbsp;熟悉FreeRTOS实时操作系统,具备多任务调度和资源管理经验。&nbsp;&nbsp;熟悉LVGL图形库开发,能够实现嵌入式设备的图形界面设计。2.&nbsp;硬件设计能力:&nbsp;&nbsp;&nbsp;具备PCB设计经验,曾为2023年工创赛物流搬运赛道设计小车主板,带领团队获得国家级银奖。&nbsp;&nbsp;&nbsp;熟悉硬件原理图分析,能够快速理解并调试硬件电路。3.&nbsp;机器人开发与竞赛经验:&nbsp;&nbsp;&nbsp;在全国大学生智能车竞赛、ROS机器人竞赛中多次获得国家级奖项,具备丰富的机器人开发经验。&nbsp;&nbsp;&nbsp;熟悉Linux环境,对ROS和ROS&nbsp;2有一定了解,能够进行机器人系统的开发与调试。4.&nbsp;编程能力:&nbsp;&nbsp;&nbsp;熟悉C/C++,熟悉Python,能够高效完成嵌入式开发和算法实现。&nbsp;&nbsp;&nbsp;具备良好的代码规范和文档编写能力。5.&nbsp;团队协作与领导能力:&nbsp;&nbsp;&nbsp;在多个项目中担任核心开发或团队负责人,具备良好的沟通能力和团队协作精神。&nbsp;&nbsp;&nbsp;在工创赛中带领团队完成项目规划、任务分配和技术攻关,展现了较强的领导力。我对嵌入式开发、机器人技术和智能硬件充满热情,期待加入贵公司,与团队共同成长,为公司创造价值!如果有合适的岗位,欢迎随时联系我,期待进一步沟通!
沉淀一会:嵌入式就是狗屎
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客企业服务