- 博客(8)
- 收藏
- 关注
原创 leetcode之路028 Implement strStr()
题目大意:实现函数strstr(string haystack, string needle)。返回haystack中第一次出现needle的下标。注意是下标,从0开始的。这个题目,可简单点做,直接循环遍历,可复杂度点,提高效率,即kmp算法。思路一:1、当needle长度为0,返回0。2、令两个字符串长度为m,n,则外层循环m次,对haystack中每一个字符i开始进行判断是否匹
2015-08-20 21:56:16 396
原创 leetcode之路027 Remove Element
题目大意:给定一个数组和值,删除数组中所有等于这个值的元素,需要在原数组中进行,返回其新长度。其余元素的位置可以被改变,并且新长度之后的元素可以不管。和上一题十分相似,Remove Duplicates from Sorted Array。思路:1、处理数组为空的情况,返回0。2、用两个指针,一个用来遍历数组每一个元素记为p,另一个用来记录当前不等于val值的元素个
2015-08-20 21:23:02 335
转载 Hadoop学习路线图
按照这个路线图来学习即可。 1、M. Tim Jones的三篇文章: 用Hadoop进行分布式数据处理第1部分(入门):http://www.ibm.com/developerworks/cn/linux/l-hadoop-1/index.html 用Hadoop进行分布式数据处理第2部分(进阶):http://www.ibm.com/developerworks/c
2015-08-19 23:50:00 424
原创 leetcode之路026 Remove Duplicates from Sorted Arrayy
题目大意:给定一个排序的数组,在原数组中删除其中重复多余的元素,使得每个元素只出现一次,并且返回其新长度。不要用额外的数组空间,必须使用常量空间。例如:{1,1,2,2,2,3,4,5,5,5}得到长度为5,数组前五个必须为{1,2,3,4,5},后面的元素可以任意。思路:1、处理数组为空的情况,返回0。2、用两个指针,一个用来遍历数组每一个元素记为p,另一个用来记录当前不重复元素
2015-08-18 20:11:13 370
原创 leetcode之路024 Swap Nodes in Pairs
题目大意:给定一个链表,交换每两个邻接的节点。例:给定 1->2->3->4, 应该返回2->1->4->3.算法应该用常量空间,不能修改链表的值,只能修改节点本身。上述要求,也就是,只能改变链表next的指向,不能交换节点元素的值来达到目的。交换值的话就非常简单了。思路:1、用三个链表指针即可,一个保存结果链表头。另两个移动找到相邻元素并交换指向。对于任意两个元素
2015-08-16 06:51:24 373
原创 leetcode之路023 Merge k Sorted Lists
题目大意:将n个已排序的链表合并为有序的链表,分析和描述它的复杂性。例如:3->4->5->6->7,2->8->9,3->6->10,4->5->7。排序结果2->3->3->4->4->5->5->6->6->7->7->8->9->10。思路:1、必须得对n个链表的首元素进行比较,找到最小值,设最小值所在的链表为temp,新建一个节点存放其值,然后将temp指向下一个节点,即此链
2015-08-16 06:50:27 450
原创 leetcode之路022 Generate Parentheses
题目大意:给定n对圆括号,写一个函数求出所有的匹配组合。例如:n=3,则所有的匹配组合为:"((()))", "(()())", "(())()", "()(())", "()()()"这个排列组合在做一次算法的笔试题遇到过,要求n=6时的所有可能组合的数目。当时没做出来,这次又遇到,查了一下,发现这种形式的问题,都是满足卡塔兰数的。详细说明见百度百科。因此算法的求解和这个没多大关
2015-08-02 13:17:01 441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人