面试助力,算法 101:JavaScript 描述
搜索文档…
面试助力,算法 101:JavaScript 描述
目录
写在前面
学习指南
开篇——复杂度
字符串
数学
数组
链表
二叉树
动态规划
最大子序和、爬楼梯和买卖股票的最佳时机
打家劫舍、零钱兑换和跳跃游戏
不同路径、Longest Increasing Subsequence和单词拆分
回溯算法
排序与搜索
栈和队列
结束篇
由
GitBook
提供支持
动态规划
使用递归去解决问题虽然代码简洁、简单,但是效率不高。很多用递归解决的算法题,如果用动态规范来解决,效率会更高。
动态规划(dynamic programming )是通过组合子问题的解决,从而解决整个问题的算法。英文中的
programming
,指的是一种规划,而不是计算机代码。
动态规划适用于子问题不是独立的情况,对每个子问题只求解一次,使用数组来建立一张表格,来存放被分解成众多子问题的解,从而避免重复计算相同的子问题。
本章节分为 3 个部分:
Part 1
最大子序和
爬楼梯
买卖股票的最佳时机
Part 2
打家劫舍
零钱兑换
跳跃游戏
Part 3
不同路径
Longest Increasing Subsequence
单词拆分
阅读完本章节,你将对动态规划算法有更加熟悉对了解。
以前
填充每个节点的下一个右侧节点指针、岛屿数量和二叉树的锯齿形层次遍历
下一个
最大子序和、爬楼梯和买卖股票的最佳时机
最近更新
2yr ago
复制链接