摘要: 这里整理一些阅读此书的笔记。可能是题解浓缩,可能是重点提炼,也可能是书中以外的或是自己实现的题解代码,甚至个人认为书中有些题解其实讲的并不好,这里也会以自己的理解重新给出解答。另外,部分题目给出对应leetcode训练题号与链接。 设计一个有getMin功能的栈 使用两个栈,另一个栈用来存每一步的最阅读全文
posted @ 2019-01-18 00:18 ACBingo 阅读(26) 评论(0) 编辑
摘要: "LeetCode.232 用栈实现队列"阅读全文
posted @ 2019-01-18 00:17 ACBingo 阅读(32) 评论(0) 编辑
摘要: "LeetCode.155 最小栈"阅读全文
posted @ 2019-01-18 00:16 ACBingo 阅读(22) 评论(0) 编辑
摘要: "LeetCode.225 用队列实现栈" 栈pop的时候将当前队列的处最后一个元素之外的所有元素出队到另外一个元素里,然后出队最后一个元素即可阅读全文
posted @ 2019-01-18 00:16 ACBingo 阅读(30) 评论(0) 编辑
摘要: "123. 买卖股票的最佳时机 III" 暴力做法 直接枚举中间值,分成两个 "121. 买卖股票的最佳时机" 题做: class Solution { public int maxProfitOne(int[] prices) { int min = Integer.MAX_VALUE; int 阅读全文
posted @ 2019-01-18 00:15 ACBingo 阅读(36) 评论(0) 编辑
摘要: "121. 买卖股票的最佳时机" 动态规划:前i天的最大收益 = max{前i 1天的最大收益,第i天的价格 前i 1天中的最小价格} 维护两个值即可:min,ans class Solution { public int maxProfit(int[] prices) { int min = In阅读全文
posted @ 2019-01-18 00:14 ACBingo 阅读(18) 评论(0) 编辑
摘要: "122. 买卖股票的最佳时机 II" 对于没有炒过股票的同学来说,题目描述的不太清楚,同一支股票一天只能交易一次,要不买、要不卖,一天内不能卖了再买。 这样的话整个交易就是线性的,不存在交叉的选择。如果把股票价格用折线图画出来,实际上只买处于上升的阶段即可。 所以问题转变成判断折线的增降,累加出所阅读全文
posted @ 2019-01-18 00:14 ACBingo 阅读(14) 评论(0) 编辑