上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: Bitwise AND of Numbers Range 实现范围内的按位与 思路:首先将m与n做按位与得到tmp。对于tmp中为0的位,则最终结果也一定为0;对于tmp中为1的位,则要看m到n中间有没有数的这一位为0,方法是:将m的这一位及其低位全部置1得到数a,如果a<n,则说明m到n中间存在这 阅读全文
posted @ 2016-11-09 15:50 coldyan 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Substring with Concatenation of All Words 寻找所有词连接的子串 思路:由于该字串是所有词典中的词连接的,所以该字串长度固定。因此本题可以看作一个滑动窗口的题。为了去除重复工作,每次滑动一个单词的长度,因此起始位置就有n种(n为单词长度)。每种起始位置的滑动策 阅读全文
posted @ 2016-11-07 23:43 coldyan 阅读(2512) 评论(0) 推荐(0) 编辑
摘要: Best Time to Buy and Sell Stock 只能买1次的股票问题 思路:遍历数组的同时,记录到当前天为止的历史最低价格,那么在当前天卖出的最大收益就是当前价格减去历史最低价格,同时更新历史最大收益。 1 public class Solution { 2 public int m 阅读全文
posted @ 2016-11-07 17:39 coldyan 阅读(314) 评论(0) 推荐(0) 编辑
摘要: Copy List with Random Pointers 复制带随机指针的链表 思路1:使用哈希表,需要消耗O(N)的额外空间。 1 public class Solution { 2 /** 3 * @param head: The head of linked list with a ran 阅读全文
posted @ 2016-11-06 13:11 coldyan 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 1. 图论算法(用BFS,DFS) 拓扑排序 克隆图 找连通块 六度问题 2.BFS 队列实现; 树中的BFS与图中的BFS有什么不同?树中没有环,图中有环需要一个set来记录搜索过的节点; 应用:图的遍历,最短路径 3 搜索 碰到找所有解决方案的题,一定是DFS搜索。搜索题的套路比较固定。 阅读全文
posted @ 2016-11-02 22:05 coldyan 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Count Complete Tree Nodes 完全二叉树的节点数 思路:这道题使用暴力法为O(n)会超时。使用二分的思想,首先求出左右子树的深度,如果它们的深度相同,则说明左子树为满树,它的节点数可由公式2^h-1求得;如果不相同,说明右子树为满树,同样可用公式求得它的节点数。然后再递归的去求 阅读全文
posted @ 2016-10-31 22:06 coldyan 阅读(777) 评论(0) 推荐(0) 编辑
摘要: Arithmetic Slices 算术片的个数 思路(最优解):序列型dp。每次记录一下以当前数为末尾的算术片的最大长度以及数的等差值。下一次就能求出算术片增加的个数。使用滚动指针来优化。时间复杂度O(n),空间复杂度O(1)。 1 public class Solution { 2 public 阅读全文
posted @ 2016-10-31 15:24 coldyan 阅读(350) 评论(0) 推荐(0) 编辑
摘要: Additive Number 加法数 思路:一开始以为要用DP来做,但是这道题除非能保证每个相加数的划分是唯一的(事实上不是唯一的),否则只能用搜索。 1 public class Solution { 2 public boolean isAdditiveNumber(String num) { 阅读全文
posted @ 2016-10-26 17:20 coldyan 阅读(433) 评论(0) 推荐(0) 编辑
摘要: Animal Shelter 宠物收养所 思路:要使各项操作都为O(1),应该使用linkedHashMap(插入查找删除都是O(1),还记录了顺序关系)及两个队列。 public class AnimalShelter { ListNode head; ListNode tail; Queue<I 阅读全文
posted @ 2016-10-26 14:41 coldyan 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1.栈和队列 队列:BFS 栈:DFS 例题: (1)min stack: 思路:使用两个栈实现。第二个栈对应相应层为栈顶的最小值。 更节省空间的方法是:相邻层如果值相同可用计数的机制来节省空间。 (2)Largest Rectangle in Histogram 思路:这道题暴力解法的时间复杂度是 阅读全文
posted @ 2016-10-16 21:02 coldyan 阅读(208) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页