今天开始就参加各种笔试了,让我记录一下有趣的笔试题目吧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今天开始就参加各种笔试了,让我记录一下有趣的笔试题目吧相关的知识,希望对你有一定的参考价值。

第 一 次 笔 试

1.推断题

关键语句 x = x&(x-1);

给定x,要求计算多少次之后,x = 0;

答:这个语句的作用用例子就可以看出

1&0 = 0;count = 1;

11&10 = 10,10&01 = 00;count = 2;

110&101 = 100,100&011 = 000;count = 2;

可以看出语句的作用就是数二进制位中 1 的个数,所以只需要将x的值转化为二进制就行,使用除余法就可以得到;

 

2.求24题

给出5,5,5,1 要求每个数用且仅用一次进行四则运算得出24。

答:这种题好像只能试10,0,25,1 -> 15,5,50,2;  5,-5,0,0;  20,30,125,5;  6,-4,5,0.2; -> 剩下操作数1 (以5,5开头无解);

6,4,5,5  -> 11,1,30,1.2; 9,-1,20,0.8;(见上);(见上); -> 剩下操作数5(5,1开头无解);

6,-4,5,5 -> 见上;1,-9,-20,-0.8;(见上);(见上); -> 剩下操作数5(1,5开头无解);

答案是无解?!搞不清楚闹哪样;

 

3.基础代码题

写出能找出一串字符串中第一个唯一的字符的函数 例如abacddeeff,返回 b;

答:代码如下

 1 char firstSingle(char* str){
 2     
 3     char * a = str;
 4     char * b = str;
 5     
 6     for(; *a != \0;a++){
 7         
 8         bool same = false;
 9         
10         for(b = str; b != a;b++){
11             if(*a == *b){
12                 same = true;
13                 break;
14             }
15         }
16         if(!same){
17             for(b = a+1; *b != \0;b++){
18                 if(*a == *b){
19                     same = true;
20                     break;
21                 }
22             }
23             if(!same)    break;
24         }
25     }
26     return *a;
27 }

有重复检查,但是是最容易想到的一种方法

 

以上是关于今天开始就参加各种笔试了,让我记录一下有趣的笔试题目吧的主要内容,如果未能解决你的问题,请参考以下文章

记录一次回客科技有关线程的笔试题,三个线程加法和一个线程减法 ,延申的两个线程交替执行

有趣的笔试题

腾讯校招前端开发笔试初试总结

2021年前端最新笔试百题

2021年前端最新笔试百题

2021年前端最新笔试百题