美的笔试 - C++开发

单选 - 25道

多线 - 6道

基础语法+操作系统+代码输出判断

编程两道题:

1.将一个数组进行整理,如果一个数的前两个数和等于该数,删除中间的数:

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

int main(){
	int num;
	vector<int> vec;
	vector<int> data;
	while(cin>>num){
		data.emplace_back(num);
	}
	for(int i = 0 ; i<data.size() ; i++){
		if(vec.size()<2){
			vec.emplace_back(data[i]);
			continue;
		}
		int fst = vec[vec.size()-2];
		int sec = vec.back();
		if(data[i] == fst + sec){
			vec.pop_back();
			i--;
		}
		else vec.emplace_back(data[i]);
	}
	for(auto num : vec){
		cout<<num<<" ";
	}
	return 0;
} 

2.爬楼梯变化,不固定步数

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

int main(){
	string str;
	cin>>str;
	vector<int> vec;
	for(int i = 0 ; i<str.length() ; i++){
		if(str[i] <= '9'&&str[i] >= '0'){
			int ptr = i;
			while(ptr<str.length()&&str[ptr] <= '9'&&str[ptr] >= '0')ptr++;
			string cur = str.substr(i , ptr-i);
			vec.emplace_back(stoi(cur));
			i = ptr;
		}
	}
	vector<int> dp(vec.size() , INT_MAX);
	dp[0] = 0;
	for(int i = 0 ; i<vec.size() ; i++){
		int cur = vec[i];
		for(int j = 1 ; j<=cur ; j++){
			if(i+j>=vec.size())break;
			dp[i+j] = min(dp[i+j] , dp[i]+1);
		}
	}
	cout<<dp.back();
	return 0;
}

#美的##笔试#
全部评论
2 回复 分享
发布于 2023-09-01 23:43 陕西
投了多久能收到笔试啊?
1 回复 分享
发布于 2023-09-04 09:35 辽宁
面了吗
点赞 回复 分享
发布于 2023-09-04 11:19 天津
请问笔试时间多久呀
点赞 回复 分享
发布于 2023-09-02 11:36 天津

相关推荐

10-10 23:04
门头沟学院 C++
1.&nbsp;移动语义的适用场景是什么?2.&nbsp;内存泄露通常有哪些原因?3.&nbsp;(追问)除了未释放和循环引用,还有哪些原因?4.&nbsp;多线程如何处理并发(变量)问题?5.&nbsp;防止并发有哪些方式?(追问锁以外的机制)6.&nbsp;除了锁,还有哪些方式?(再次追问)7.&nbsp;信号量是如何进行管理的?8.&nbsp;多进程间通信有哪些方式?请讲几个。9.&nbsp;你做的流媒体服务器是单进程多线程架构吗?10.&nbsp;一对一聊天和群聊(多对多)在架构上有什么不同?为什么群聊可能需要多进程?多进程具体做什么?11.&nbsp;同步和异步的区别是什么?能否举一个异步的业务场景例子(比如你项目中的异步日志系统)?12.&nbsp;异步日志系统的大致实现思路是什么?13.&nbsp;这个日志系统是自研的还是使用开源组件?14.&nbsp;你的项目里用到了哪些设计模式?15.&nbsp;单例模式是线程安全的吗?16.&nbsp;除了工厂和单例,还了解或使用过其他模式吗?(如观察者、策略模式)它们的使用场景是什么?17.&nbsp;你在项目中遇到的最复杂或最难的问题是什么?是如何解决的?(引申出加密解密问题)18.&nbsp;加密解密问题具体是什么原因?最终如何解决?19.&nbsp;从1000万条记录的数据集中找出分数最高的Top&nbsp;K个记录,你会用什么算法?时间复杂度是多少?20.&nbsp;(追问)该算法对内存有要求吗?21.&nbsp;快速选择(部分快排)算法的时间复杂度是多少?22.&nbsp;(深入探讨)为什么快速选择算法的平均时间复杂度是O(N)?23.&nbsp;TCP和UDP有什么区别?24.&nbsp;为什么TCP需要三次握手?25.&nbsp;什么是I/O多路复用?26.&nbsp;epoll的边沿触发(ET)和水平触发(LT)模式有什么区别?你的项目是如何支持和选择这两种模式的?27.&nbsp;边沿触发(ET)模式是否可靠?在什么情况下可能存在问题?28.&nbsp;什么是死锁?在什么情况下会发生?如何避免或解决死锁?29.&nbsp;如果发现数据库查询效率很低,你会通过哪些方式来排查和优化?30.&nbsp;(追问)除了优化SQL、索引和分库分表,还有哪些优化思路?31.&nbsp;项目是在什么操作系统上开发的?32.&nbsp;是否使用过GDB进行调试?如何调试程序崩溃(如使用core&nbsp;dump文件)?33.&nbsp;在项目开发中,除了GDB,还使用了哪些调试工具和方法来排查BUG?34.&nbsp;你最近在看什么技术书籍?有什么心得或启发?
点赞 评论 收藏
分享
评论
6
44
分享

创作者周榜

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