今天开始就参加各种笔试了,让我记录一下有趣的笔试题目吧
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 }
有重复检查,但是是最容易想到的一种方法
以上是关于今天开始就参加各种笔试了,让我记录一下有趣的笔试题目吧的主要内容,如果未能解决你的问题,请参考以下文章