发布时间:2013-11-29 14:51:34
从每一天价格处一分为二,分别计算之前与之后能获得的最大收益,如果比已知最大收益最大则更新。如果计算到发现后半部分最大收益为0,可结束循环,说明之后股价一路跌。点击(此处)折叠或打开class Solution {public: int maxProfit(vect.........【阅读全文】
发布时间:2013-11-29 11:16:44
先找到第一个波谷,如果比已知波谷还小则更新最小波谷。再找接邻的波峰,如果波峰值减最小波谷值大于已知最大差值则更新。依次处理剩下的波峰及波谷即可。点击(此处)折叠或打开class Solution {public: int maxProfit(vector<int> &pri.........【阅读全文】
发布时间:2013-11-29 10:42:03
有利可图就交易,反正不限次数~点击(此处)折叠或打开class Solution {public: int maxProfit(vector<int> &prices) { if(prices.size()<2) return 0; .........【阅读全文】
发布时间:2013-11-28 09:42:18
用栈。遇到数字压栈。遇到运算符则弹出前两个操作数计算结果并压栈。最后字符串矢量都处理完了就得到结果。点击(此处)折叠或打开class Solution {public: int evalRPN(vector<string> &tokens) {  .........【阅读全文】
发布时间:2013-11-27 10:57:25
递归。每到一个节点计算其左右子树的最大路径和。如果左或者右子树的最大路径和比已经找到的最大路径和大则更新。如果以这个节点为根节点能得到的最大路径和比已经找到的最大路径和大则更新。每次递归返回此节点值与左右子树最大路径和中较大者的和。点击(此处)折叠或打开/**.........【阅读全文】