本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
Unique Binary Search Trees II
Total Accepted: 7349 Total
Submissions: 27648
Given n, generate all structurally unique ...
分类:
其他好文 时间:
2014-05-15 07:02:36
阅读次数:
252
题意:从底往上按层遍历二叉树
思路:
思路和Binary Tree Level Order Traveral 一样,
即从上往下按层遍历二叉树,将每一层的节点存放到该层对应的数组中
最后将得到的数组倒转一下就可以了
按层遍历二叉树可用bfs,也可用dfs,但都要记录节点所在的层
复杂度:时间O(n), 空间O(n)...
分类:
其他好文 时间:
2014-05-15 06:32:14
阅读次数:
278
题意:给定一棵任意二叉树(不一定是perfect binary tree),将它每一个节点的next指针都指向该节点右边的节点
思路:bfs
这里不能用dfs了,只能用bfs
bfs遍历将同一层的节点存放在同一个数组里,
然后在遍历每个数组,将前面的节点和后面的节点connect起来,
最后一个节点和NULL connect起来
需要定义一个新的struct结构,保存指向每个节点的指针和该节点所在的层
复杂度:时间O(n), 空间O( n)...
分类:
其他好文 时间:
2014-05-15 06:12:13
阅读次数:
294
要求最小的步数,是不是很容易想到用dp啊?
我一开始的做法是,当找到了一个可以从它延伸到更远的位置,就把这个位置和最远位置的步数都更新一下,结果超时了。其实这样不仅是超时的,而且是错误的。因为这段距离里的很多点,其实是上一步就能到达的。其实应该更新的只有哪些新的能够到达的点,那哪些点是新的能到达的点呢?假设这次能够延伸更远的点是i,它的前进步数是A[i],上一次能够到达的最远的点是mmax,那新...
分类:
其他好文 时间:
2014-05-15 05:54:41
阅读次数:
229
当有重复元素的时候呢?
不用拍脑袋都会想到一种方法,也是所有有重复元素时的通用处理方法,维护一个set,如果这个元素没加入过就加入,加入过了的忽略掉。但是,在这道题上这个通用方法居然超时了!
怎么办?想一下为什么会这样,假设我们要排列的数字是1111112,当当前的排列中没有1时,取哪个1生成一遍,都是一样的。只有当前面的1都用过了,必须轮到这个1出场的时候,它才会有价值。更明确一点说,假设我...
分类:
其他好文 时间:
2014-05-15 05:36:25
阅读次数:
198
题意:将已排序的链表中所有重复的元素移除
思路:
三个个指针,pre, cur, next
一个布尔变量is_appear,表示cur指针指向的值之前是否已经出现过
检查cur, next指向的节点的值是否相同,
相同的话,删除cur
不同的话,如果is_appear为true,删除cur,否则不删除
删除的话,只移动cur, next指针
不删除的话,要移动pre, cur, next三个指针
复杂度:时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:54:32
阅读次数:
262
Linked List CycleGiven a linked list, determine
if it has a cycle in it.Follow up:Can you solve it without using extra
space?做完Linked List Cycle II在做这...
分类:
其他好文 时间:
2014-05-14 23:30:00
阅读次数:
399
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次
思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数
出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:03:00
阅读次数:
262
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match....
分类:
其他好文 时间:
2014-05-14 19:30:36
阅读次数:
292
题目一:
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
For example, given s = "aab",
Return
[
...
分类:
其他好文 时间:
2014-05-14 15:10:01
阅读次数:
293