菜鸟系列之C/C++经典试题(三)】的更多相关文章

设计包括min函数的栈 题目:定义栈的数据结构,要求加入一个min函数,可以得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 分析:这是2006年google的一道面试题. 我看到这道题目时,第一反应就是每次push一个新元素时,将栈里全部逆序元素排序. 这样栈顶元素将是最小元素.但因为不能保证最后push进栈的元素最先出栈,这样的思路设计的数据结构已经不是一个栈了. 在栈里加入一个成员变量存放最小元素(或最小元素的位置).每次push一个新元素进栈的时候,假设该元…
找含单链表的环入口点 :怎样推断单链表中是否存在环(即下图中从结点E到结点R组成的环)? ,则在low进入环后继续绕环遍历一周之前fast必定能与low重合(且必定是第一次重合).于是函数可写例如以下: bool hasCircle(Node* head, Node* &encounter) { Node *fast = head, *slow = head; while(fast && fast->next) { fast = fast->next->next;…
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点.   示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL   限制: 0 <= 节点个数 <= 5000 题解: 采用原地反转的方式进行反转 这里假设存在旧链表head: 1->2->3->4->nil; 此时定义一个新链表 newHead:进行原地反转,首先反转节点 1: next=he…
js经典试题之w3规范系列 1:w3c 制定的 javascript 标准事件模型的正确的顺序? 答案:事件捕获->事件处理->事件冒泡 解析:先事件捕获从windows > document 往下级直到 特定的事件节点,然后进行事件处理,再事件冒泡,从特定节点往上级,这个完整的过程 2:列举javascript  Browser 对象? 答案: Navagator:提供有关浏览器的信息 Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性…
老生常谈系列之Aop--Aop的经典应用之Spring的事务实现分析(三) 前言 上一篇文章老生常谈系列之Aop--Aop的经典应用之Spring的事务实现分析(二)从三个问题导入,分析了Spring是如何开启事务的.Spring是如何为需要事务支持的类生成代理的以及Spring是怎么实现成功提交异常回滚的执行框架的.但是在这个执行框架里,事务是怎么进行的并没有详细说明.这里面会有非常多的问题,例如如何根据配置的事务属性去完成相应的事务行为.什么时候创建一个新事务什么时候在当前事务执行又或者是嵌…
  1 <!DOCTYPE html>   2 <html>   3 <script src="./jquery-1.7.2.js"></script>   4 <head>   5     <title></title>   6 </head>   7 <body>   8 <input type="text" name="type"…
js经典试题之运算符 1.假设val已经声明,可定义为任何值.则下面js代码有可能输出的结果为: console.log('Value is ' + (val != '0') ? 'define' : 'undefine'); 答案: 第一题: 答案:define 解析:加号优先级高于 三目运算.低于括号. 所以括号中无论真假 加上前边的字符串都为 TRUE 三目运算为TRUE是 输出 define…
js经典试题之ES6 1:在ECMAScript6 中,Promise的状态 答案:pending  resolved(fulfilled) rejected 解析: Promise对象只有三种状态: 异步操作“未完成”(pending)—— 异步操作“已完成”(resolved,又称fulfilled)—— 异步操作“失败”(rejected) 这三种的状态的变化途径只有两种: 异步操作从“未完成”到“已完成”——异步操作从“未完成”到“失败”. 这种变化只能发生一次,一旦当前状态变为“已完成…
js经典试题之原型与继承 1:以下代码中hasOwnProperty的作用是? var obj={} …….. obj.hasOwnProperty("val") 答案:判断obj对象是否具有val属性 解析: hasOwnProperty: 是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员. isPrototypeOf : 是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回tr…
js经典试题之闭包 1:以下代码输出的结果是? function Foo(){ var i=0; return function(){ document.write(i++); } } var f1=Foo(), f2=Foo(); f1(); f1(); f2(); 答案:0 1 0 解析: 这是一个闭包,闭包可以用在许多地方.它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中. 这里的局部变量i,对f1()来说是全局变量,对f2()来说也是全…