武汉笔试之旅

来源:互联网 发布:matlab怎么遍历矩阵 编辑:程序博客网 时间:2024/04/29 17:54
参加武汉腾讯笔试,吓尿了,人真心好多,身边的竞争对手差不多都是武大,武理工,中南、中科等等硕士,哎,又感叹一句如果我简历上的学历不是因为一不小心写成硕士,腾讯还会给我机会么。。。试题的好多题目很杂,有近一半数据结构、语言、算法题目,其他的都是各科的基础题,因为也是acm渣的出身,多少还是会一些。。。大公司笔试应该来说特别重视基础和算法类的题目。有道这样的题目升序的数组 a[n],向左移动K位,比如说数组2、3、4、5、6、7向左移动2位得到4、5、6、7、2、3实现二分查找 x 填空if(()or()) 查找右区间else查找左区间int mid = l + r >> 1;if(()or()) query(a,mid,r,x)else query(a,l,mid,x)要求填写if(  )or(  )解析:主要分三种情况:第一种建立模型 4、5、6、7、2、3 l        r第二种建立模型 4、5、6、7、2、3                     l  r第三种建立模型 4、5、6、7、2、3               l        r很显然第一、二中可以写在一个()中:if((r<(n-k+1)||l>(n-k))&& x>a[mid])第三种需要分析a[l]与x的大小了,并且还有分析mid于(n-k)的大小,如果a[l]>x则符合要求:if( l<(n-k+1) && r>(n-k) && (n-k+1)>mid && a[l]>x )所以答案应该是:if(((r<(n-k+1)||l>(n-k))&& x>a[mid]) or (l<(n-k+1) && r>(n-k) && (n-k+1)>mid && a[l]>x)

0 0