2015百度实习生招聘机试题目

嗯,这里是简介,主题配置内可以修改,如留空则不显示

2015百度实习生招聘机试题目

无聊参见了百度在线笔试的机试题目,是在类似于http://acm.acmcoder.com/listproblem.php这样的网站上考试的,在之前可以先去练练手熟悉一下,后面机试题目必做两道和附件两道,个人感觉附加的比这个必做的还简单,囧。我做出来三道题目后来没时间了。其中一道附加题目做出来了但是没有时间提交,也是醉了。不过幸好必做的做完了。时间再必做的第一个上浪费的太多了,为毛第一个是最难的!!!

由于题目忘记了,仅凭记忆将问题描述出来,背景什么的就不说了。

题目1:一个密码锁有n位0-9的数字,给你m次机会,能解开输出YES,不能输出NO,多次循环输出(ACM题目经常这么搞),对了,题目中说了可以提示密码大小。

分析:其实就是二分法来做,但是没有必要实现二分,因为只要输出能不能解开即可,所以算出二分能不能满足即可。

代码如下(C++):


#include <iostream>
#include <math.h>

using namespace std;

int main()
{
	while (1)
	{
		int a,b;
		cin>>a>>b;

		long allnum = pow(10,a);

		int times = sqrt(allnum);

		if (times>b)
		{
			cout<<"NO"<<endl;
		}
		else{cout<<"YES"<<endl;}
	}
	return 0;
}

题目2:更简单,其实就是简单的计算,但是最重要的是掌握程序的流程,题目背景是爬山什么的,计算距离,只要审题清楚就行了,这道题目2分钟搞定,一次编译通过。

代码如下(C++):

#include <iostream>
#include <string>
#include <VECTOR>
#include <algorithm>

using namespace std;

int main()
{
	int t;
	cin>>t;

	while(t--)
	{
 		int m;
		cin>>m;

		int l=0;
		int num = 0;
		int sign =0;
		while(m--)
		{
			int r;
			cin>>r;
			num += abs(r-l)*2;
			l=r;
			sign = r;
		 }
		num += sign*2;
		cout<<num<<endl;
	}
	return 0;
}

第三道是:给出一个连串的0-1字符串,你最少需要多少次交换将其转换为非减串。当然不是简单的一个串,需要多次输入一次输出,这个之前的不一样,需要设计数据结构。

思考:其实对于一个串来说就是把0-1串转化为前面全是0后面全是1的串,我设置两个指针,前后移动可以很简单那完成,但是这个题目浪费我很长时间题目,因为在线的编辑器真的是很不给力啊,长时间没操作就断了还要重新登陆重新编写,这不科学。不多说了贴代码如下:

#include <iostream>
#include <string>
#include <VECTOR>
#include <algorithm>

using namespace std;

void print(string str)
{
 int l = 0;
 int r = str.length()-1;
 int num = 0;

 for (; l<r; )
 {
  //如果左边发现了1
  if (str[l]=='1')
  {
	   for (; r>l;)
	   {
			if (str[r]=='0')
			{
				 r--;
				 num++;
				 break;
				}else{
				 r--;
			}
	   }
	   l++;
  }
  //如果右边是0
  else{
	  l++;
  }
 }
 cout<<num<<endl;
}

int main()
{
	vector<string> vec;
	int t;
	cin>>t;
	string str;

	for (int i=0; i<t; i++)
	{
		cin>>str;
		vec.push_back(str);
	}

	for_each(vec.begin(), vec.end(), print);
	return 0;
}


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Hello world. 豫ICP备16008819号-1.

Power by Z-BlogPHP  Theme by wzdaxue