随笔分类 -  LeetCode&NewCoder

摘要:题目描述:给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。这道题目做暴力的想法就是,用一个指针从头到尾遍历,删除哪个元素就把后面的元素统一向前移动一个位置。但是这样的时间复杂度很大,可能要移动很多的元素。这里利用快速排序中划分的一种思想:用两个指针,后一个指针做遍历用,前一个指针作... 阅读全文
posted @ 2015-10-27 20:39 stemon 阅读(316) 评论(0) 推荐(0) 编辑
摘要:算法分析1. 若字符串开头是空格,则跳过所有空格,到第一个非空格字符,如果没有,则返回0.2. 若第一个非空格字符是符号+/-,则标记isPositive的真假,这道题还有个局限性,那就是在c++里面,+-1和-+1都是认可的,都是-1,而在此题里,则会返回0.3. 若下一个字符不是数字,则返回0.... 阅读全文
posted @ 2015-10-01 16:13 stemon 阅读(351) 评论(0) 推荐(0) 编辑
摘要:题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 因为是中序遍历,所有要找的这个父结点,肯定有这样的特征:当前结点所在的子树一定是某个根结点的左子树。并且当前结点是该左子树的最右结点。 所以算法设计:... 阅读全文
posted @ 2015-08-27 09:11 stemon 阅读(379) 评论(0) 推荐(0) 编辑
摘要:Hash表能够实现在O(1)时间内对数据访问,虽然空间复杂度很高,但是时间复杂度很好。所以下面说一些使用Hash的算法。第一个只出现一次的字符利用Hash可以实现统计字符的个数,然后在遍历一次得到最早的那个只出现一次的字符。注意:如果传入的字符串为NULL或者字符串里没有只出现一次的字符,这两种情况... 阅读全文
posted @ 2015-08-26 21:02 stemon 阅读(261) 评论(0) 推荐(0) 编辑
摘要:删除链表中多余的重复结点I首先对于一个有序的结点递增的链表,删除重复的结点,只保留一份重复的结点。Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3. 只需要一个结点指针就能够完成操作。ListNode* deleteDup... 阅读全文
posted @ 2015-08-25 14:49 stemon 阅读(192) 评论(0) 推荐(0) 编辑
摘要:看下面一个链表结点的定义:struct ComplexListNode{ int val; struct ComplexListNode *next; struct ComplexListNode *sibling; ComplexListNode(int x) : val(x), next(NU... 阅读全文
posted @ 2015-08-08 22:38 stemon 阅读(170) 评论(1) 推荐(0) 编辑
摘要:Add Two Numbers这个题目是:把两个整型的数字用两个链表表示,然后把这两个数字相加,最后的结果仍然用链表表示。这个题目能很好的体现一个人对于这种算法题的解题思路,是很好的一个题目。这个题目很需要算法设计的那四个步骤:1.设计算法,通过举例子、画图、划分子问题(分治或DP)等方法。2.设计... 阅读全文
posted @ 2015-08-03 22:12 stemon 阅读(218) 评论(0) 推荐(0) 编辑
摘要:首先明确一点,这个方面的问题设计到的知识点是数组的查找的问题。对于类似的这样的查找操作的具体办法就是三种解决方法:1.暴力算法,多个for循环,很高的时间复杂度2.先排序,然后左右夹逼,但是这样会破坏原始数组的下表3.利用Hash表,直接定位元素,很少的时间复杂度 TwoSum先来看看最简单的,在... 阅读全文
posted @ 2015-08-03 15:40 stemon 阅读(5452) 评论(0) 推荐(0) 编辑
摘要:题目Remove all elements from a linked list of integers that have valueval.ExampleGiven:1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6,val= 6Return:1 --> 2 --> 3 ... 阅读全文
posted @ 2015-05-04 02:28 stemon 阅读(198) 评论(0) 推荐(0) 编辑
摘要:题目Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn't m... 阅读全文
posted @ 2015-05-04 00:58 stemon 阅读(196) 评论(0) 推荐(0) 编辑
摘要:题目Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].Not... 阅读全文
posted @ 2015-05-03 18:07 stemon 阅读(169) 评论(0) 推荐(0) 编辑
摘要:题目思路这个题目是一个easy级别,算法本身没有难点,但是C++的语法有几点需要注意。下面分别说一下:LeetCode中给的C++函数原型是这样的string countAndSay(int n); 也就是说给一个n得到一个string类型的数字串,但是n和这个数字串似乎没有什么关系,这个数字串是... 阅读全文
posted @ 2015-04-29 11:30 stemon 阅读(298) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示