码迷,mamicode.com
首页 > 编程语言 > 详细

网易游戏(互娱)-游戏测试开发工程师-C++

时间:2018-08-11 14:35:10      阅读:829      评论:0      收藏:0      [点我收藏+]

标签:++   字母   就是   蓝色   ace   分享   帮助   vector   编号   

1.已知一棵二叉树的前序遍历是ABCDEFGH,那么它的中序遍历一定不可能是:

A. CBEDAGFH
B. BADCFEHG
C. DCEBFAHG
D. CBDAFEHG

答案:无

考点:二叉树遍历

  • 前序遍历:根左右
  • 中序遍历:左根右
  • 后序遍历:左右根

技术分享图片

 

2. 10000个人背上依次贴着从1到10000的编号,他们从小到大依次报数,偶数出列,一圈后,从剩下的5000人再次从号码小的开始报数,偶数出列,直到没人出列为止。问最后一次出列的人,背上的编号是多少?

A. 1
B. 2049
C. 4097
D. 8193

答案:D

解析:注意看题,是问最后一次出列的人。A选项是永远不会出列的。

思路:写出每轮出列的序号,找出规律,求最后一轮第一个出列序号即可

第一次出列为2,4,6,8...

第二次出列为3,7,11...

第三次出列为5,13,21...

则f(1)=2;

f(2)=f(1)+pow(2,0)=3

f(3)=f(2)+pow(2,1)=f(1)+pow(2,0)+pow(2,1)=5

...

f(n)=f(n-1)+pow(2,n-2)

则f(n)=f(1)+pow(2,0)+pow(2,1)+...+pow(2,n-2)=k<10000,运用等比公式,化简为k=pow(2,n-1)+1<10000,得pow(2,n-1)=pow(2,13)=8192,k=8193

 

3.阅读下面那段代码,给出handle(1024,256)的返回值

1  handle(a, b) {  
2         if(a==0) return b;  
3         if(b==0) return a;  
4         i=a^b;  
5         j=(a&b)<<1;  
6         return  handle(i,j);  
7     }

答案:1280

考点:^异或(相异为1)、&位与(同1为1)、<<左移(a<<b,a左移b位,a乘以2的b次方)

第一轮: a = 1024 ,  b = 256  ,  i = 1280,  j =  0

第二轮: a = 1280,b = 0 ,执行语句

if(b==0) return a;

输出为1280

 

4. 下面有段数字处理函数的伪代码,阅读后,请给出handle(12354)的返回值

 1 handle( num ){  
 2     result = 0;  
 3     i = num;
 4    while (i !=0 )  
 5     {  
 6         i = i/10*10;  
 7         result = result * 10 + num - i;  
 8         i = i /10;  
 9         num = num/10;  
10     }  
11     return result;  
12 } 

答案:45321

解析:倒序输出

 

5. 一封奇怪的信:

题目描述:

现在你需要用一台奇怪的打字机书写一封书信。信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写

信的内容由a-z的26个小写字母构成,而每个字母的宽度均会事先约定。例如字符宽度约定为[1,2,3,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],那么就代表‘a‘到‘d‘四个字母的宽度分别是1,2,3,4,而‘e‘到‘z‘的宽度均为5

那么按照上述规则将给定内容S书写成一封信后,这封信共有几行?最后一行宽度是多少?

输入例子1:
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
helloworld

输出例子1:
1 50

例子说明1:
"5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5"规定每个字符宽度为5
"helloworld"是输入的字符串S
由于S共包含10个字符,也即共占用50个字符宽度,因此可以写在同一行

输入例子2:
5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5
hahahahahahahaha

输出例子2:
2 20

例子说明2:
"5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 5 5 5 5 5 5 5 5"规定了每个字符宽度
"hahahahahahahaha"是输入的字符串S
由于h宽度为10,a宽度为5,因此‘hahahahahahah‘占用100字符宽度可以写在第一行,‘aha’写在第二行也即最后一行。因此字符宽度为20

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     string str;
10     int num[30];
11     for(int i=0; i<26; i++)
12     {
13         cin >> num[i];
14     }
15     cin >> str;
16     int count= 1, len = 0;
17     for(int i=0; i<str.length(); i++)
18     {
19         int n = num[str[i] - a];
20         if(len + n > 100)
21         {
22             len = n;
23             count++;
24         }
25         else
26         {
27             len += n;
28         }
29     }
30     cout << count << " " << len << endl;
31     return 0;
32 }

 

6. 糖果谜题:

小明是幼儿园的一名老师。某天幼儿园园长给小朋友们每人发一颗糖果,小朋友们拿到后发现有一些同学拿到的糖果颜色和自己相同,有一些同学糖果颜色和自己不同。

假定每个小朋友只知道有多少同学和自己拿到了相同颜色的糖果。

上课后,有一部分小朋友兴奋的把这一结果告诉小明老师,并让小明老师猜一猜,最少有多少同学拿到了糖果。

例如有三个小朋友告诉小明老师这一结果如下:

其中第一个小朋友发现有1人和自己糖果颜色一样,第二个小朋友也发现有1人和自己糖果颜色一样,第三个小朋友发现有3人和自己糖果颜色一样。

第一二个小朋友可互相认为对方和自己颜色相同,比如红色;

第三个小朋友不可能再为红色(否则第一二个小朋友会发现有2人和自己糖果颜色相同),假设他拿到的为蓝色糖果,那么至少还有另外3位同学拿到蓝色的糖果,最终至少有6位小朋友拿到了糖果。

现在请你帮助小明老师解答下这个谜题。

 1 #include <map>
 2 #include <vector>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <iostream>
 6 #include <algorithm>
 7 using namespace std;
 8 map<int, int> Map;
 9 vector<int> a;
10 int main()
11 {
12     int tot;
13     while(cin >> tot)
14     {
15         a.push_back(tot);
16         Map[tot]++;
17     }
18     int num = 0;
19     for(int i=0; i<a.size(); i++)
20     {
21         int x = a[i];
22         if(Map[x] <= 0)
23         {
24             continue;
25         }
26         while(Map[x] > 0)
27         {
28             num += x + 1;
29             Map[x] -= x + 1;
30         }
31     }
32     cout << num << endl;;
33 }

 

网易游戏(互娱)-游戏测试开发工程师-C++

标签:++   字母   就是   蓝色   ace   分享   帮助   vector   编号   

原文地址:https://www.cnblogs.com/lijuanhu321/p/9459580.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!