摘要:
题意是强盗能隔个马抢马,看如何获得的价值最高 动态规划题需要考虑状态,阶段,还有状态转移,这个可以参考《动态规划经典教程》,网上有的下的,里面有大量的经典题目讲解 dp[i]表示到第i匹马时的最大价值是多少, 因此所有的dp[i] = max(dp[i-2]+nums[i],dp[i-1]) (其中 阅读全文
摘要:
判断一棵树是否是平衡树,即左右子树的深度相差不超过1. 我们可以回顾下depth函数其实是Leetcode 104 Maximum Depth of Binary Tree 二叉树 1 /** 2 * Definition for a binary tree node. 3 * struct Tre 阅读全文
摘要:
本题用两个栈实现队列,用栈的基本操作去实现队列的所有基本操作push(),pop(),peek()以及empty() sa作为输入栈,sb作为输出栈,将sa输入元素的反转过来放到sb中 push与sa有关,而pop(),peek()与sb有关,即将sa输入元素出栈放到sb中(函数move). 为此, 阅读全文
摘要:
合并两个已排序的链表,考到烂得不能再烂的经典题,但是很多人写这段代码会有这样或那样的问题 这里我给出了我的C++算法实现 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListN 阅读全文
摘要:
同样是判断数是否是2的n次幂,同 Power of three 1 class Solution { 2 public: 3 bool isPowerOfTwo(int n) { 4 return (n > 0) && (((long long)1<<31) % n == 0); 5 } 6 }; 阅读全文
摘要:
判断一个数是否是3的n次幂 这里我用了一点巧,所有的int范围的3的n次幂是int范围最大的3的n次幂数(即3^((int)log3(MAXINT)) = 1162261467)的约数 这种方法是我目前觉得是最好的,不容易出错,其他的方法因为精度问题而很容易错。 1 class Solution { 阅读全文
摘要:
Ugly Number的质因数仅为2,3,5 将输入的数分别除以2,3,5直到不能除,看是否为1,为1的是Ugly Number,其他则不是。 1 class Solution { 2 public: 3 bool isUgly(int num) { 4 if(num<=0) return fals 阅读全文