码迷,mamicode.com
首页 >  
搜索关键字:offer    ( 4910个结果
替换空格--《剑指offer》
如题所示,题目很简单,替换空格,将字符串中的空格替换为%20; 即"we are happy”替换成“we%20are%20happy”; 如果每当我们遇到一个空格就将字符串向后平移两位,这样复杂度就是O(n2)了,这样的方法是不可取的,按照作者的来说,offer已不足拿到了; 而当我们反向从字符串末尾开始遍历,复杂度仅为O(n),当然前提的是该字符串有足够空间,否则替换会失败。 了解到思想之后程序也就比较简单了,发现自己的与作者的写的也比较类似,就此贴上了......
分类:其他好文   时间:2014-05-22 12:25:54    阅读次数:201
CareerCup之2.1无序链表删除重复元素
【题目】 原文: 2.1 Write code to remove duplicates from an unsorted linked list. FOLLOW UP How would you solve this problem if a temporary buffer is not allowed? 译文: 从一个未排序的链表中移除重复的项 ...
分类:其他好文   时间:2014-05-22 12:04:13    阅读次数:196
二进制查找树转换为双向链表
完全按照海涛哥剑指offer里边的递归思路来写的,基本一样,仅作学习验证,努力锻炼,努力学习!code如下: //Change a BSTree to a sorted double linklist struct BSTreeNode { int value; BSTreeNode *left; BSTreeNode *right; }head; //Create a node of...
分类:其他好文   时间:2014-05-22 10:23:27    阅读次数:237
【剑指offer】栈的压入弹出序列
剑指offer上的第22题,九度OJ上AC。 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 输入: 每个测试案例包括3行: 第一行为1个整数n(1<=n<=100000),表示序列的长度。 第二行包含n个整数,表示栈的压入顺序。 第三行包含n个整数,表示栈的弹出顺序。 输出: 对...
分类:其他好文   时间:2014-05-22 10:10:28    阅读次数:286
CareerCup之2.2 寻找单链表倒数第n个元素
【题目】 原文: 2.2 Implement an algorithm to find the nth to last element of a singly linked list. 译文: 实现一个算法从一个单链表中返回倒数第n个元素。 【分析】 【思路一】 (1)创建两个指针p1和p2,指向单链表的开始节点。 (2)使p2移动n-1个位置,使之指向从头...
分类:其他好文   时间:2014-05-22 09:03:53    阅读次数:315
【剑指offer】从上向下打印二叉树
剑指offer上的第23题,实际上就是考察二叉树的层序遍历,具体思想可以参考这里。 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, :n代表将要输入的二叉树元素的个数(节点从1开始编号)。接下来一行有n个数字,代表第i个二叉树节点的元素的值。接下来有n行,每行有一个字母Ci。 Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。 Ci=’l’表示第i个...
分类:其他好文   时间:2014-05-22 08:29:03    阅读次数:306
【剑指offer】包含min函数的栈
剑指offer上的第21题,之前在Cracking the Coding interview上做过,思路参考这里,这次写了测试函数,在九度OJ上测试通过。 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(1<=n<=1000000), n代表将要输入的操作的步骤数。 接下来有n行,每行开始有一个字母Ci。 Ci=’s’时,接下有一个数字k,代表将k压入栈。 Ci=’o’时,...
分类:其他好文   时间:2014-05-22 07:15:30    阅读次数:318
从尾到头打印链表--《剑指offer》
题目:很简单,就是题目,将链表从尾到头打印出来。 可能我们首先想到的是将链表进行遍历,将之前的访问的数据进行保存,最后进行反向输出,可是保存数据的空间是个问题;或者是我们将整个链表进行反向操作,将整个链表进行逆置,可是我们只是进行打印操作而已,改变链表不合适吧... 其实这时候应该想到了,用栈:既然是逆置,和栈的功能不就不谋而合吗,后进先出,进行反向打印。...
分类:其他好文   时间:2014-05-22 06:41:25    阅读次数:255
“举一反三”合并数组--《剑指offer》
与上篇思想一样,或者说是替换数字的另一种版本吧,题目如下: 有两个已经排好的数组A1和A2,A1的末尾有足够的空间来容纳A2,我们将A2数组插入到A1中,继续保持已经排序; 这样看来就和替换空格相似了,如果我们在A1数组从头到尾复制数字,这样导致A1数组后面的数一直不断往后移动,复杂度一样是O(n2),所以,我们来举一反三:...
分类:其他好文   时间:2014-05-22 06:14:10    阅读次数:241
Linux内核之vmlinux与vmlinuz
1.vmlinux vmlinux是一个包含linux kernel的静态链接的可执行文件,文件类型是linux接受的可执行文件格式之一(ELF、COFF或a.out)。 2.vmlinuz vmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,而且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解...
分类:系统相关   时间:2014-05-21 03:06:50    阅读次数:429
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!