Min Stack@LeetCode

2015-03-12
阅读 2 分钟
2.6k
Min Stack 这一题我一开始的实现方法是:维护一个栈用来保存数据,然后用一个整型(min)保存当前最小值。这样针对每一个操作: push(x)输入入栈,然后更新最小值 pop()出栈,然后更新最小值 top()直接返回栈顶元素 getMin()直接返回最小值 这样的实现方法,除pop()外,其实方法都是O(1)的,符合题目要求的constant time...

Maximum Product Subarray@LeetCode

2015-03-12
阅读 2 分钟
2.1k
正负数,不能简单地依靠动态规划的方法做,因为之后的信息对之前的信息是有影响的:i点之前的乘积为负数,但如果之后还有负数,则乘积会变成正数且将大于之前的乘积

如何编写回调函数?

2015-03-11
阅读 1 分钟
2.4k
Response接口包含了两个方法:success和fail,分别需要在请求成功和失败时调用,但是具体这两个方法需要做写什么事情,这在接口的定义中是无从知道的,因为这是根据每个发送请求的主体的具体情况而确定的。

Word Ladder I II

2015-02-27
阅读 10 分钟
3.7k
看到这题的时候我其实就没什么想法,对这种类型题的经验太少。上网查完之后,确定要用图的思想解决,思路就是从起点出发对字典中可达的字符串进行BFS(广度优先搜索)并记录当前节点与起点的距离,一旦找到了目标字符串即返回。

Best Time to Buy and Sell Stock I II III IV@LeetCode

2015-02-26
阅读 6 分钟
11.1k
相对比较简单的方法是用DP,思路是对于每个i都求出从0到i区间内的最大获益,而对于i+1只需要比较第i+1天的价格和前i天最低价的关系,就可以直接求出0到i+1天区间内的最大获益。也就是说对0到i天的最大获益的计算复杂度是O(1),总体复杂度是O(n)。

JavaScript闭包和this绑定

2014-06-07
阅读 2 分钟
4.8k
本文最主要讲讲JavaScript闭包和this绑定相关的我的小发现,鉴于这方面的基础知识已经有很多很好的文章讲过了,所以基本的就不讲了,推荐看看酷壳上的理解Javascript的闭包和阮一峰的学习Javascript闭包(Closure),写的都非常好。

从HD OJ 1005想到的

2014-04-21
阅读 3 分钟
3.1k
A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n).