`
- 浏览:
16565201 次
- 性别:
- 来自:
济南
-
---------------------------------------------------------------------------struct 和 class 的区别见 http://blog.csdn.net/wplxb/archive/2007/06/16/1654129.aspx---------------------------------------------------------------------------引用和指针的区别,用法见 http://blog.csdn.net/wplxb/archive/2006/10/14/1334781.aspx---------------------------------------------------------------------------单向链表的删除操作,已知 head, p(指向被删除元素),要求复杂度为 O(1) (题目似有误)常数时间删除结点肯定不行,不过可以用假删除,就是把要删除节点的值用要删除节点的下一个节点值覆盖,然后删除下一个节点 (要求该节点的下一个节点不能是空,也就是说,这种方法对删除最后一个节点是行不通的)。见 http://blog.csdn.net/wplxb/archive/2007/07/02/1675718.aspx---------------------------------------------------------------------------有 100 阶楼梯,一个人从底往上爬,每次爬 1 阶或 2 阶,请编个算法说明一共多少种走法?后面的问题更有一些深度:这个算法(他会给出一个正确的算法思路)有什么效率上的问题,如何解决;如果这个算法经常要被调用,如何设法使效率提高?F(n) = F(n-1) + F(n-2), n = 阶数F(0) = F(1) = 1,这个是 Fibonacci 数列,最直观的是递归,复杂度是指数;然后是线性的算法;接下来有一个对数的算法。如果是经常被调用,可以修改线性的算法,设一个 cache F[0...n],在算之前,先查一下这个 cache,如果没有,就重新算一下。参考:Fibonacci 数列的三种算法 (http://enihcam.iblog.com/post/5251/124345)---------------------------------------------------------------------------对栈数据结构进行改进,加一个 min() 功能,使之能在常数 (即 O(1)) 时间内给出栈中的最小值。可对 push() 和 pop() 函数进行修改,但要求其时间复杂度都只能是 O(1)。思路:1. 设置一个主栈,一个辅栈,辅栈用于存储当前栈中最小值元素。 push: 如果主栈为空,push 进主栈和辅栈; 如果主栈非空,push 进主栈,然后把这个数跟辅栈的栈顶元素比较,把较小值 push 进辅栈; pop: 辅栈 pop 一次,主栈 pop 一次并返回; min: 返回辅栈栈顶元素即可。2. 在栈元素中扩展出最小值域,栈顶元素的最小值域中保持当前栈中的最小值。 与 1 基本一样,不用辅助栈,但要修改栈内元素结构。3. 设置一个主栈,一个辅栈,辅栈用于存储主栈中当前最小值元素及其到主栈底的距离。 push: push 进主栈。当主栈新栈顶元素比辅栈的栈顶元素更小时,把主栈的新栈顶数据和主栈当前栈大小压入辅栈。 pop: 如果主栈 pop 后,其栈大小比辅栈栈顶元素的距离小,则辅栈的栈顶也弹出。 min: 返回辅栈的栈顶元素即可。 基本思想跟 1 一样,但在主栈中重复元素较多,或者排好序的数据按升序入栈的情况下,可以节省空间。但如果栈中没有重复元素,且排好序的数据按降序入栈,则需要更多空间。注:如果要求最大值,同理可得。参考:1. http://topic.csdn.net/t/20051121/13/4407616.html2. http://blog.csdn.net/minus8cool/archive/2006/03/14/624375.aspx---------------------------------------------------------------------------用 C/C++ 编程如何确定所在的计算机上栈的增长方式(是从高到低,还是从低到高)。int x;int y;if (&x < &y){ cout << "from low to high";}else{ cout << "from high to low";}---------------------------------------------------------------------------你要如何实现类似 Google 的拼写检查 (即纠正用户输入关键字中的错误单词)?---------------------------------------------------------------------------Google Destop Search 的一些技术---------------------------------------------------------------------------项目经历;你觉得哪个项目最富有挑战性?你怎么解决那些问题的?---------------------------------------------------------------------------如果进入 Google,让你自由地选择一个课题,你会做什么方面的?---------------------------------------------------------------------------
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这些题目涵盖了多个领域,包括数学、编程、企业文化、电子学、选择题以及个人能力展示,反映出Google面试或试题的多元化和趣味性。让我们逐一解析这些知识点: 1. **多面体上色问题**:这是一个经典的组合数学问题...
标题中的“google百度北电华为腾讯试题及面试”揭示了这个压缩包文件包含的主要内容,即来自多个知名科技公司的招聘考试题目和面试问题。这些公司包括Google、百度、北电(可能指的是北方电讯,现已并入诺基亚西门子...
在线试题库-在线试题库系统-在线试题库系统源码-在线试题库管理系统-在线试题库管理系统java代码-在线试题库系统设计与实现-基于springboot的在线试题库系统-基于Web的在线试题库系统设计与实现-在线试题库网站-在线...
在线试题库-在线试题库系统-在线试题库系统源码-在线试题库管理系统-在线试题库管理系统java代码-在线试题库系统设计与实现-基于springboot的在线试题库系统-基于Web的在线试题库系统设计与实现-在线试题库网站-在线...
标题中的"google百度北电华为腾讯试题及面试.rar"表明这是一个包含多个科技巨头公司——Google、百度、北电、华为和腾讯的招聘考试题目及面试问题的压缩文件。这些公司都是全球或中国知名的IT企业,它们的招聘流程...
在IT行业的求职过程中,面试和笔试是至关重要的环节,尤其对于知名的科技公司如Google、百度、北电、华为和腾讯来说,他们的试题和面试过程往往代表着行业内的高标准和技术前沿。这些公司的面试通常涵盖编程能力、...
《Google、百度、北电、华为、腾讯试题及面试》是一部综合性的资料集,涵盖了这五家知名IT公司的招聘过程中的常见试题和面试经验。这些公司都是全球信息技术行业的领头羊,他们的面试流程和试题设计往往代表了业界的...
根据提供的文件内容,我们可以深入探讨Google AdWords的相关知识点,这些知识点对于准备参加Google AdWords Professional认证考试的人来说非常有用。下面是对各个题目所涉及知识点的详细解释: ### 1. 访问AdWords...