Hello 算法 1.1.0 TypeScript版第 13 章 回溯 hello‑algo.com 284 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 问题“最小路径和”来举例。 Question 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格的代价。 机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角单元格。请返回 从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到 状态 [?, ?] 对应的子问题为:从起始点 [0, 0] 走到 [?, ?] 的最小路径和,解记为 ??[?, ?] 。 至此,我们就得到了图 14‑11 所示的二维 ?? 矩阵,其尺寸与输入网格 ???? 相同。 第 14 章 动态规划 hello‑algo.com 316 图 14‑11 状态定义与 dp 表 Note 动态规划和回溯过程可以描述为一个决策序列,而状态由所有决策变量构成。它应当包含描述解题进0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版约束满足问题:这类问题的目标是找到满足所有约束条件的解。 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 为了更形象地展示解题步骤,我们使用一个经典问题“最小路径和”来举例。 � 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格 的代价。机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角 单元格。请返回从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第 14 章 状态 [?, ?] 对应的子问题为:从起始点 [0, 0] 走到 [?, ?] 的最小路径和,解记为 ??[?, ?] 。 至此,我们就得到了图 14‑11 所示的二维 ?? 矩阵,其尺寸与输入网格 ???? 相同。 图 14‑11 状态定义与 dp 表 � 动态规划和回溯过程可以被描述为一个决策序列,而状态由所有决策变量构成。它应当包含 描述解题进度的所有变量,其包含了足够的信息,能够用来推导出下一个状态。0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版章 回溯 www.hello‑algo.com 284 ‧ ? 皇后:在 ? × ? 的棋盘上放置 ? 个皇后,使得它们互不攻击。 ‧ 数独:在 9 × 9 的网格中填入数字 1 ~ 9 ,使得每行、每列和每个 3 × 3 子网格中的数字不重复。 ‧ 图着色问题:给定一个无向图,用最少的颜色给图的每个顶点着色,使得相邻顶点颜色不同。 组合优化问题:这类问题的目标是在一个组合空间中找到满足某些条件的最优解。 问题“最小路径和”来举例。 Question 给定一个 ? × ? 的二维网格 grid ,网格中的每个单元格包含一个非负整数,表示该单元格的代价。 机器人以左上角单元格为起始点,每次只能向下或者向右移动一步,直至到达右下角单元格。请返回 从左上角到右下角的最小路径和。 图 14‑10 展示了一个例子,给定网格的最小路径和为 13 。 图 14‑10 最小路径和示例数据 第一步:思考每轮的决策,定义状态,从而得到 状态 [?, ?] 对应的子问题为:从起始点 [0, 0] 走到 [?, ?] 的最小路径和,解记为 ??[?, ?] 。 至此,我们就得到了图 14‑11 所示的二维 ?? 矩阵,其尺寸与输入网格 ???? 相同。 第 14 章 动态规划 www.hello‑algo.com 316 图 14‑11 状态定义与 dp 表 Note 动态规划和回溯过程可以描述为一个决策序列,而状态由所有决策变量构成。它应当包含描述解题进0 码力 | 383 页 | 18.49 MB | 10 月前3
TypeScript Handbook(中文版)
仅当类被实例化的时候才会被初始 化的属性。 我们也可以创建类的静态成员,这些属性存在于类本身上面而不是类的 实例上。 在这个例子里,我们使用 static 定义 origin ,因为它是所有网格都 会用到的属性。 每个实例想要访问这个属性的时候,都要在 origin 前面加上类 名。 如同在实例属性上使用 this. 前缀来访问属性一样,这里我们使 用 Grid. 来访问静态属性。0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
仅当类被实例化的时候才会被初始化的属性。 我们也 可以创建类的静态成员,这些属性存在于类本身上面而不是类的实例上。 在这个例子里,我们使 用 static 定义 origin ,因为它是所有网格都会用到的属性。 每个实例想要访问这个属性的时 候,都要在 origin 前面加上类名。 如同在实例属性上使用 this. 前缀来访问属性一样,这里我 们使用 Grid. 来访问静态属性。0 码力 | 683 页 | 6.27 MB | 1 年前3
共 5 条
- 1













