DP
jacob_wjj
领英主页:https://www.linkedin.com/in/jiang-bo-a56771ba/
展开
-
Unique Paths I | II leetcode
Unique Paths I 第一题还是比较简单的,robot只能向右和向下走,看到题目的第一个感觉就是使用递归,可能最近对递归有了一点情结。先看看递归实现的代码://@author jiangbo //time limit exceeded int uniquePaths(int m, int n) { if(m==1||n==1) retu原创 2015-12-12 00:41:11 · 278 阅读 · 0 评论 -
House Robber I & II | LeetCode
House Robber I 这是一道比较典型的DP的题目,由于相邻的两家不能同时被偷,所以每次选择的时候都需要进行取舍。选取了两个偶数位的值不一定会比加在中间这个奇数位的值大,所以就需要比较,每次选取最大的。代码如下:int rob(vector<int>& nums) { int size = nums.size(); int even=0,ad=0;原创 2015-12-12 14:11:14 · 306 阅读 · 0 评论 -
Create Maximum Number | LeetCode
Create Maximum Number题意 Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum number of length k <= m + n from digits of the two. The relative order of the d原创 2015-12-25 10:31:28 · 1506 阅读 · 0 评论 -
最长锯齿序列 Leetcode
题意给定一个序列,求最长锯齿序列的长度,所谓锯齿,就是子序列中不断的增大然后减小或间接的减小然后增大。分析一开始是没有啥思路的,感觉应该要使用DP,那么关键就是找到子问题。首先,结果子序列可以是先递减在递增,也可以是先递增再递减,求解的过长都是一样的,假设d[i]为先递减再递增类型序列以第i个位最后一个数的最长子序列长度,f[i]为递增再递减以第i个位置为最后一个数的最长子序列长度,那么就有下面的公原创 2016-09-22 22:19:55 · 1059 阅读 · 0 评论