华为2019届校招笔试题

1.

给出一个字符串,将重复的字符去除,仅保留第一次出现的字符,且保持去重后的字符在原字符串中的顺序不变。

输入数据是一个字符串(不包含空格)

输出去重后的字符串

输入:12ere2

输出:12er

#include
#include
#include
#include

using namespace std;

int main()
{
	string instr,outstr;
	unordered_set  sc;
	getline(cin,instr);
	for(auto c:instr)
	{
		if(sc.find(c)==sc.end())
		{
			sc.insert(c);
			outstr.append(1,c);
		}
	}
	cout<

2

华为2019届校招笔试题_第1张图片

代码如下:

#include
#include
#include
#include
using namespace std;

int main()
{
	vector> time{{12,13},{13,14},{14,15},{15,16},
		                       {16,17},{17,18},{18,19},{19,20}};
    vector> people;
    map,int> result;
    int a,b;
    while(true)
    {
		cin>>a;
		if(cin.get()==','){
			cin>>b;
			if(a==-1&&b==-1){
				break;}
			people.push_back(make_pair(a,b));
		}
	}
	for(pair pa:people)
	{
		for(pair t:time)
		{
			if(pa.first<=t.first&&pa.second>=t.second)
			{
				++result[t];
			}
	    }
	}
	for(pair,int> re:result)
	{
	  cout<<'['<

3.

 

 

华为2019届校招笔试题_第2张图片

 代码如下:

#include
#include
#include
#include
#include
using namespace std;

int main()
{
   stack num;
   stack ops;
   string str;
   getline(cin,str);
   int result;
   int i=0;
   for(;i1){  //' ' is more
		   result=-1;
		   break;}
	   if(str[i]!='.'&&str[i]<'0'||str[i]>'9') {
		   if(str[i]==')'){
			   char op=ops.top();
			   ops.pop();
			   if(op=='^'){
				   int re=num.top();
				   num.pop();
				   num.push(re+1);
			   }else if(op=='+'||op=='*'){
				   int a=num.top();
				   num.pop();
				   int b=num.top();
				   num.pop();
				   if(op=='+'){
					   num.push(a+b);
				    }else{
						num.push(a*b);}
			   }else // other op{
				   result=-1;
				   break;
			   }
			   ops.pop(); //delete'('
			   if(ops.empty()){  //the tree is end
				   result=num.top();
				   break;
				   }
		   }else{
			   ops.push(str[i]);
		   }
		   ++i;
	   }else if(str[i]!='.'){
		   t=i;
		   while(str[i]>='0'&&str[i]<='9'){
			   ++i;
		   }
		   num.push(stoi(str.substr(t,i-t)));
	   }else{  //'.'
		   break;
		   result=-1;
		   }
   }
   if(i==str.size()){
		  result=-1;
	}
	   cout<

 

你可能感兴趣的:(Interview)