美团春招测开 - 第四场 3.29 笔试

美团

单选 :

考察了数据库,os,大模型,ds,计网的一些问题 :

  • union和union all的区别,sql语句中like _ % 的使用 ,分解关联查询的优势
  • 大根堆 ,快排时间复杂度.... ,森林节点数计算,hanoi问题 ;
  • 一些大模型问题...
  • ...

编程 :

第一道过75%,第23题a了 ;

字符串模拟题

不知道为什么只能过75% ;

#include<bits/stdc++.h>
using namespace std ;
#define endl '\n'

// 字符串模拟问题

bool pd1(string s) {
    for (char c : s) {
        if (c >= '0' && c <= '9') continue ;
        else return false ;
    }
    return true ;
}

bool pd2(string s) {
    if (pd1(s) == false) return false ;
    if(s[0]>='1') return true ;
    else return false ;
}

int main() {
    int t ;
    cin >> t ;
    while (t--) {
        string s ;
        cin >> s ;
        int n ;
        cin >> n ;
        int len = s.size() ;
        if (len > 4 && s.substr(0, 4) == "TEMP" &&
                n <= 120) cout << "Temporary" << endl ;
        else if (len == 9 && s.substr(0, 3) == "VIP" &&
                 pd1(s.substr(3, 6))) cout << "VIP" << endl ;
        else if (len == 7 && s.substr(0, 3) == "MER" &&
                 pd2(s.substr(3, 4))) cout << "Merchant" << endl ;
        else if (len == 6 && s[0] >= 'A' && s[0] <= 'Z' &&
                 pd1(s.substr(1, 5))) cout << "Normal" << endl ;
        else cout << "Invalid" << endl ;
    }
}

调休问题 :

/ 调休问题// 健康 : 每一天工作时间不超过k// 保持总时长不变 ,是否可以调休达到健康

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

void fyj(){
	int n , k ; cin >> n >> k ;
	int sum = 0 , p = n * k ;
	for(int i=0;i<n;i++){
		int a ; cin >> a ;
		sum += a ;
	}
	if(sum > p) cout << "NO" << endl ;
	else cout << "YES" << endl ;
}

int main(){
	int _ ; cin >> _ ;
	while(_--) fyj() ;
	return 0 ; 
}

求极差最小

// n(2e5)个ai(1e9)
// 求使极差最小的操作次数 ;
// 每次可删第一个/最后一个元素 

变向求最长相等子数组 ;

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

void fyj(){
	int n ; cin >> n ;
	vector<int> a(n) ;
	for(int& x : a) cin >> x ;
	int ans = 0 ;
	// 子区间极差最小,最后极差一定是0 ; 
	// 也就是求最长相等子数组的长度
	for(int i=0;i<n;i++){
		int j = i ;
		while(j<n && a[j]==a[i]) j++ ;
		ans = max(ans,j-i) ;
		i = j - 1 ;
	}
	cout << n - ans << endl ;
}

int main(){
	int _ ; cin >> _ ;
	while(_--) fyj() ;
	return 0 ; 
}

#软件开发笔面经#
全部评论
会不会因为是车牌号没有O和I这两个字母(我猜的
点赞 回复 分享
发布于 2025-03-29 12:30 北京

相关推荐

2本硕,在这一个下午真的绷不住了,浪费了太多时间,现在的技术栈还停在C语言和stm32上,找嵌入式的实习面试被拷打,找杭州的一个也找不到,真的心里难受,linux没学过,研二了开始慌了。
一条淡水魚:嵌入式这行的面试我认为实际项目比较重要,技术栈简单的提一嘴就行,面试官在乎的关键点在于你用了这些技术做了哪些工作解决了什么问题,而不是停留在离散的那些个技术栈上,那除了教课没有意义,好比你提到的c语言和32,你用32做过哪些具体的项目?接触过什么外设?使用过哪些公司的SDK?有没有实际产品落地?以及各种只有进入真正的生产环节当中才会积累到的经验......主动去和面试官讨论这些实际的问题,甚至还能就某个具体参数的合理性与他去简单探讨一下,只要技术栈对口,基本上就稳啦~(另外linux和RTOS是嵌入式的标配哦,选一个方向走下去吧)
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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