摘要:
给定一个股票价格的时间序列,必须先买后卖,买之前必须卖出已有的,可以多次交易,求最大收益是多少 思路:假设三天内的价格为1 2 3,那第一天买入,第三天卖出收益最大,等价做法是第一天买入第二天卖出,第二天买入,第三天卖出。假设三天内价格为3 2 1,那就没有收益了。假设三天内的价格为2 1 3,第二天买入,第三天卖出。以上规律可以看出就是求出每一次的递增子序列的头和尾的差,也可以逐个求得即sum ... 阅读全文
阅读排行榜
Symmetric Tree
2015-04-11 10:49 by 笨笨的老兔子, 137 阅读, 收藏,
摘要:
判断一棵树是否对称 思路:用递归的方法判断即可。有一个小tips,判断两个节点是否全为空或者全不为空是可以用异或,少写一些代码 class Solution {public: bool isSymmetric(TreeNode *root) { if (!root) return true; return sym(root->left, ro... 阅读全文
Climbing Stairs
2015-03-09 09:37 by 笨笨的老兔子, 137 阅读, 收藏,
摘要:
爬楼梯,一次爬一层或两层,要爬n层,有几种方法 本题有一个简单的递推式:f(n)=f(n−1)+f(n−2) 注意点: 注意n的边界 注意不要使用递归求解,会爆栈以及浪费大量时间 class Solution {public: int climbStairs(int n) { if (n < 0) return 0; if (n <= 2... 阅读全文
Single Numberl
2015-04-01 14:14 by 笨笨的老兔子, 135 阅读, 收藏,
摘要:
存在一个数组,该数组中仅有一个数仅出现了一次,其他所有数均出现两次,求这个数 思路:任何一个数和自身求异或操作都是0,任何一个数和0求异或操作都是它自身 class Solution {public: int singleNumber(int A[], int n) { int res=0; for (int i = 0; i < n; i++) ... 阅读全文
Remove Nth Node From End of List
2015-03-16 10:25 by 笨笨的老兔子, 135 阅读, 收藏,
摘要:
去掉一个单链表的倒数第N个节点 思路很简单,两个指针,一个指针提前跑n个节点,然后再一起奔跑,提前跑的那个到达尾部的时候,后面跑的那个指向倒数第n+1节点。需要注意一些边界: 头指针为空 n大于链表长度 n等于链表长度 class Solution {public: ListNode *removeNthFromEnd(ListNode *head, int n) { if (!he... 阅读全文
浙公网安备 33010602011771号