
动态规划
铁面无情哈士奇
希望月入百万
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode 简单三十四 746.使用最小花费爬楼梯
使用最小花费爬楼梯: 动态规划: php,24ms。 状态转移方程: $dp[$i] = min($dp[$i-1]+$cost[$i-1],$dp[$i-2]+$cost[$i-2]); 题目奇葩,不做赘述。注意的一点是,dp数组要比cost长一位。 class Solution { /** * @param Integer[] $cost * ...原创 2019-05-30 19:01:57 · 128 阅读 · 0 评论 -
leetcode 中等九 877.石子游戏
石子游戏: 动态规划,别跟我扯什么博弈论,我不会: php,12ms,超过100%。 状态转移方程: $dp[$i] = max($piles[$i-1],$piles[$j])+$dp[$i-1]-min($piles[$i-1],$piles[$j]); 解答里面有很多都是用二维数组做的,其实一位数组就够了。用dp[i]来表示第i 轮中Alex比Lee多的石子 官方解答的第...原创 2019-06-05 20:33:14 · 158 阅读 · 0 评论 -
Leetcode 简单十四 198.打家劫舍
打家劫舍: 动态规划: php,8ms。 状态转移方程: $dp[$i] = max($dp[$i-2]+$nums[$i],$dp[$i-1]); 情况一,当前这一家的钱不能偷,最大的就是截止到上一家偷到的总金额 情况二,当前可以偷,那就是上上家偷到的总金额加上这家的钱nums[i] ps :题目没有说明只能隔一家,所以只计算奇数和偶数是错误的。 class Solu...原创 2019-05-29 16:10:26 · 138 阅读 · 0 评论 -
Leetcode 简单十三 53.最大子序和
最大子序和: 前缀和算法: php,32ms。 class Solution { /** * @param Integer[] $nums * @return Integer */ function maxSubArray($nums) { $re = $nums[0]; $sum = 0; ...原创 2019-02-23 03:08:32 · 132 阅读 · 0 评论 -
leetcode 中等八 338.比特位计数
比特位计数: 动态规划: PHP,20ms,解题里面最快的那个就是我哈哈哈哈哈。 状态转移方程: $res[$i] = $res[$i >> 1] + ($i&1); 最后一位是1,>>运算符将最后一位的1去掉,加上$i&1 最后一位是0,>>运算符将最后一位的0去掉,加上$i&1 class Solutio...原创 2019-06-03 21:23:06 · 120 阅读 · 0 评论 -
leetcode 中等十 64.最小路径和
最小路径和: 动态规划: PHP,32ms,击败100%。 状态转移方程: $grid[$i][$j] += min($grid[$i+1][$j],$grid[$i][$j+1]); 题目规定,只能走右和下 多种动归的解法,但是可以在O(1)的情况下解题 反向求解和正向同理 class Solution { /** * @param Integer[][...原创 2019-06-10 20:51:07 · 130 阅读 · 0 评论 -
Leetcode 简单三十五 303.区域和检索 - 数组不可变
区域和检索-数组不可变 动态规划: PHP,80ms class NumArray { /** * @param Integer[] $nums */ private $sum = []; function __construct($nums) { $this->$sum[0] = 0; for($i =...原创 2019-07-16 22:15:57 · 228 阅读 · 0 评论 -
Leetcode 中等十一 120.三角形最小路径和
三角形最小路径和 动态规划: 直接在原数组中修改,避免额外空间占用 PHP,20ms class Solution { /** * @param Integer[][] $triangle * @return Integer */ function minimumTotal($triangle) { if(count($...原创 2019-07-17 23:41:28 · 140 阅读 · 0 评论