`
yuanlanjun
  • 浏览: 1197388 次
文章分类
社区版块
存档分类
最新评论

2011.10.17百度面试题

 
阅读更多

1、进程切换需要注意哪些问题?

保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;

保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器各寄存器的值;

自待运行进程的私有堆栈中弹出PSW值并送入处理器的PSW; 自待运行进程的私有堆栈中弹出PC值并送入处理器的PC。

2、输入一个升序数组,然后在数组中快速寻找两个数字,其和等于一个给定的值。

这个编程之美上面有这个题目的,很简单的,用两个指针一个指向数组前面,一个指向数组的后面,遍历一遍就可以了。

3、有一个名人和很多平民在一块,平民都认识这个名人,但是这个名人不认识任何一个平民,任意两个平民之间是否认识是未知的,请设计一个算法,快速找个这个人中的那个名人。 已知已经实现了一个函数 bool know(int a,int b) 这个函数返回true的时候,表明a认识b,返回false的时候表明a不认识b。

思路:首先将n个人分为n/2组,每一组有2个人,然后每个组的两个人调用这个know函数,假设为know(a,b),返回true的时候说明a认识b,则a肯定不是名人,a可以排除掉了,依次类推,每个组都调用这个函数依次,那么n个人中就有n/2个人被排除掉了,数据规模将为n/2。同理在剩下的n/2个人中在使用这个方法,那么规模就会将为n/4,这样所有的遍历次数为n/2+n/4+n/8+........ 这个一个等比数列,时间复杂度为o(n)。

4、有一类数组,例如书序[1,2,3,4,6,8,9,4,8,11,18,19,100] 前半部分是是一个递增数组,后面一个还是递增数组,但整个数组不是递增数组,那么怎么最快的找出其中一个数?

5、判断一个自然数是否是某个数的平方。当然不能使用开方运算。

方法1:
遍历从1到N的数字,求取平方并和N进行比较。
如果平方小于N,则继续遍历;如果等于N,则成功退出;如果大于N,则失败退出。
复杂度为O(n^0.5)。

方法2:
使用二分查找法,对1到N之间的数字进行判断。
复杂度为O(log n)。

方法3:
由于
(n+1)^2
=n^2 + 2n + 1,
= ...
= 1 + (2*1 + 1) + (2*2 + 1) + ... + (2*n + 1)
注意到这些项构成了等差数列(每项之间相差2)。
所以我们可以比较 N-1, N - 1 - 3, N - 1 - 3 - 5 ... 和0的关系。
如果大于0,则继续减;如果等于0,则成功退出;如果小于 0,则失败退出。
复杂度为O(n^0.5)。不过方法3中利用加减法替换掉了方法1中的乘法,所以速度会更快些。

例如:3^2 = 9 = 1 + 2*1+1 + 2*2+1 = 1 + 3 + 5

4^2 = 16 = 1 + 2*1 + 1 + 2*2+1 +2*3+1

分享到:
评论

相关推荐

    java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集.zip

    大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有...

    java面试笔试题库java学习笔记开发教程互联网公司面试资料大全合集.zip

    大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有...

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB.zip

    大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有...

    软件开发笔试面试题总结精华版

    这篇文档的标题是“软件开发笔试面试题总结精华版”,说明了这是一份汇集了软件开发领域面试和笔试常见问题的资源合集。这个合集来源于CSDN、PUDN等多个在线技术论坛,旨在帮助那些寻找IT开发职位的人准备面试。描述...

    百度2011校园招聘笔试题

    这篇资料主要围绕的是百度2011年针对校园招聘进行的笔试题目,旨在考察应聘者在计算机科学领域的知识掌握程度,特别是对C++编程语言的理解和应用能力。百度作为中国领先的互联网技术公司,其招聘标准通常包括扎实的...

    2011Android技术面试整理附有详细答案 包括百度 新浪 中科软等多家公司笔试面试题

    以下是对2011年Android技术面试的一些关键知识点的详细解析,这些知识点可能来自于包括百度、新浪、中科软在内的多家知名公司的面试题目: 1. **Android基础知识**: - **Android架构**:理解Android系统的分层...

    android面试题

    同时,阅读和分析“2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)”这样的资料,可以帮助你了解实际的面试题目和解题思路。最后,不要忘记准备一些项目经验分享,以展示你的...

    android 面试题

    以下是对这份“2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题).doc”文档中可能包含的常见知识点的详细说明: 1. **Android基础知识** - **Android体系结构**:理解Android...

    CoreJava基础课程课件(附源码、练习题)

    应用程序开发基础-输入和输出【】2d9e3f38327df1d553bb59590d5cacb2【】f86fd7745b3ab3ef4f50e8918e756adb【】java入门经典练习题【】Java面试宝典2011版【】[Core.Java基础教程]_杨帆_ 资源太大,传百度网盘了,...

    2011百度商务搜索笔试题(1017)

    【笔试题目解析】 一、1、设计一个支持min功能的栈 ...总结,这些题目涵盖了数据结构设计、算法分析以及分布式系统设计等多个方面,展示了IT面试中常见的技术问题。理解和解答这些问题有助于提升在IT行业的专业技能。

Global site tag (gtag.js) - Google Analytics