网站建设包含哪些费用,html编辑器在哪里设置,视频变成网站怎么做,佛山设计论坛学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii
62 不同路径 动态规划#xff0c;dp[i][j]表示从左上角到(i,j)的路径数量dp[i][j] dp[i-1][j] dp[i][j-1] import java.util.Arrays;/*** 路径数量* 动态规划#xff0c;dp[i][j]表示从左上角到(i,j)的路径数量…学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii
62 不同路径 动态规划dp[i][j]表示从左上角到(i,j)的路径数量dp[i][j] dp[i-1][j] dp[i][j-1] import java.util.Arrays;/*** 路径数量* 动态规划dp[i][j]表示从左上角到(i,j)的路径数量* dp[i][j] dp[i-1][j] dp[i][j-1]*/
public class $62 {public int uniquePaths(int m, int n) {int[][] dp new int[m][n];//边界for (int i 0; i m; i) {dp[i][0] 1;}for (int i 0; i n; i) {dp[0][i] 1;}for (int i 1; i m; i) {for (int j 1; j n; j) {dp[i][j] dp[i-1][j] dp[i][j-1];}}return dp[m-1][n-1];}public int uniquePaths2(int m, int n) {int[] dp new int[n];Arrays.fill(dp, 1);for (int i 1; i m; i) {for (int j 1; j n; j) {dp[j] dp[j-1];}}return dp[n-1];}
}import java.util.Arrays;/*** 路径数量* 动态规划dp[i][j]表示从左上角到(i,j)的路径数量* dp[i][j] dp[i-1][j] dp[i][j-1]*/
public class $62 {public int uniquePaths2(int m, int n) {int[] dp new int[n];Arrays.fill(dp, 1);for (int i 1; i m; i) {for (int j 1; j n; j) {dp[j] dp[j-1];}}return dp[n-1];}
}64 最小路径和 动态规划dp[i][j]表示从左上角到(i,j)的最小路径和grid[i][j] Math.min(grid[i-1][j], grid[i][j-1]) grid[i][j] /*** 最小路径和* grid[i][j] Math.min(grid[i-1][j], grid[i][j-1]) grid[i][j]*/
public class $64 {public int minPathSum(int[][] grid) {for (int i 0; i grid.length; i) {for (int j 0; j grid[i].length; j) {if (i0 j0) continue;else if (i!0 j0) grid[i][j] grid[i-1][j] grid[i][j];else if (i0 j!0) grid[i][j] grid[i][j-1] grid[i][j];else grid[i][j] Math.min(grid[i-1][j], grid[i][j-1]) grid[i][j];}}return grid[grid.length-1][grid[0].length-1];}
}
198 打家劫舍 动态规划nums[i]表示前i间房屋能偷窃到的最高总金额nums[i] Math.max(nums[i-1], nums[i-2]nums[i]); /*** 打家劫舍* 动态规划nums[i]表示前i间房屋能偷窃到的最高总金额* nums[i] Math.max(nums[i-1], nums[i-2]nums[i]);*/
public class $198 {public int rob(int[] nums) {//注意特殊值0,1if (nums null || nums.length 0) {return 0;}if (nums.length 1) {return nums[0];}//nums[1]为nums[0]、nums[1]的最大值nums[1] Math.max(nums[0], nums[1]);//从nums[2]开始for (int i 2; i nums.length; i) {nums[i] Math.max(nums[i-1], nums[i-2]nums[i]);}return nums[nums.length-1];}
}
337 打家劫舍iii 树形动态规划我们可以用 f(o)表示选择 o节点的情况下o节点的子树上被选择的节点的最大权值和g(o)表示不选择 o节点的情况下o节点的子树上被选择的节点的最大权值和l 和 r代表 o 的左右孩子。当 o 被选中时o 的左右孩子都不能被选中 故 o 被选中情况下子树上被选中点的最大权值和为 l和 r不被选中的最大权值和 o的值f(o)g(l)g(r)o.val当 o不被选中时o的左右孩子可以被选中也可以不被选中。 对于 o的某个具体的孩子 x它对 o 的贡献是 x被选中和不被选中情况下权值和的较大值。g(o)max{f(l),g(l)} max{f(r),g(r)}import java.util.HashMap;
import java.util.Map;/*** 打家劫舍iii* 树形动态规划* 我们可以用 f(o)表示选择 o节点的情况下o节点的子树上被选择的节点的最大权值和* g(o)表示不选择 o节点的情况下o节点的子树上被选择的节点的最大权值和* l 和 r代表 o 的左右孩子。** 当 o 被选中时o 的左右孩子都不能被选中* 故 o 被选中情况下子树上被选中点的最大权值和为 l和 r不被选中的最大权值和 o的值* f(o)g(l)g(r)o.val* 当 o不被选中时o的左右孩子可以被选中也可以不被选中。* 对于 o的某个具体的孩子 x它对 o 的贡献是 x被选中和不被选中情况下权值和的较大值。* g(o)max{f(l),g(l)} max{f(r),g(r)}*/
public class $337 {MapTreeNode, Integer f new HashMap();MapTreeNode, Integer g new HashMap();public int rob(TreeNode root) {process(root);return Math.max(f.getOrDefault(root, 0), g.getOrDefault(root, 0));}private void process(TreeNode root) {if (root null) {return;}process(root.left);process(root.right);f.put(root, root.val g.getOrDefault(root.left, 0) g.getOrDefault(root.right, 0));g.put(root, Math.max(f.getOrDefault(root.left, 0), g.getOrDefault(root.left, 0)) Math.max(f.getOrDefault(root.right, 0), g.getOrDefault(root.right, 0)));}//法一的简化版public int rob2(TreeNode root) {int[] rootStatus process2(root);return Math.max(rootStatus[0], rootStatus[1]);}private int[] process2(TreeNode root) {if (root null) {return new int[]{0, 0};}int[] l process2(root.left);int[] r process2(root.right);int selected root.val l[1] r[1];int notSelected Math.max(l[0], l[1]) Math.max(r[0], r[1]);return new int[]{selected, notSelected};}
} 文章转载自: http://www.morning.xgchm.cn.gov.cn.xgchm.cn http://www.morning.jkdtz.cn.gov.cn.jkdtz.cn http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn http://www.morning.lwsct.cn.gov.cn.lwsct.cn http://www.morning.nmngq.cn.gov.cn.nmngq.cn http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn http://www.morning.hbqhz.cn.gov.cn.hbqhz.cn http://www.morning.smdkk.cn.gov.cn.smdkk.cn http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn http://www.morning.chjnb.cn.gov.cn.chjnb.cn http://www.morning.fkyrk.cn.gov.cn.fkyrk.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.ktpzb.cn.gov.cn.ktpzb.cn http://www.morning.wrfk.cn.gov.cn.wrfk.cn http://www.morning.xqjrg.cn.gov.cn.xqjrg.cn http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.jftl.cn.gov.cn.jftl.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.wnpps.cn.gov.cn.wnpps.cn http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn http://www.morning.nmymn.cn.gov.cn.nmymn.cn http://www.morning.owenzhi.com.gov.cn.owenzhi.com http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn http://www.morning.kxxld.cn.gov.cn.kxxld.cn http://www.morning.bdsyu.cn.gov.cn.bdsyu.cn http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn http://www.morning.ktfnj.cn.gov.cn.ktfnj.cn http://www.morning.haibuli.com.gov.cn.haibuli.com http://www.morning.snbry.cn.gov.cn.snbry.cn http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn http://www.morning.qgmwt.cn.gov.cn.qgmwt.cn http://www.morning.ywqw.cn.gov.cn.ywqw.cn http://www.morning.sjftk.cn.gov.cn.sjftk.cn http://www.morning.qgjgsds.com.cn.gov.cn.qgjgsds.com.cn http://www.morning.zrhhb.cn.gov.cn.zrhhb.cn http://www.morning.jjxnp.cn.gov.cn.jjxnp.cn http://www.morning.pudejun.com.gov.cn.pudejun.com http://www.morning.bzlsf.cn.gov.cn.bzlsf.cn http://www.morning.mhcft.cn.gov.cn.mhcft.cn http://www.morning.qrzwj.cn.gov.cn.qrzwj.cn http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn http://www.morning.jqwpw.cn.gov.cn.jqwpw.cn http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.zdydj.cn.gov.cn.zdydj.cn http://www.morning.rjmb.cn.gov.cn.rjmb.cn http://www.morning.tkjh.cn.gov.cn.tkjh.cn http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn http://www.morning.gnzsd.cn.gov.cn.gnzsd.cn http://www.morning.okiner.com.gov.cn.okiner.com http://www.morning.mygbt.cn.gov.cn.mygbt.cn http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn http://www.morning.ebpz.cn.gov.cn.ebpz.cn http://www.morning.dfltx.cn.gov.cn.dfltx.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.rxkl.cn.gov.cn.rxkl.cn http://www.morning.bfjtp.cn.gov.cn.bfjtp.cn http://www.morning.4q9h.cn.gov.cn.4q9h.cn http://www.morning.nptls.cn.gov.cn.nptls.cn http://www.morning.hmktd.cn.gov.cn.hmktd.cn http://www.morning.rpms.cn.gov.cn.rpms.cn http://www.morning.syhwc.cn.gov.cn.syhwc.cn http://www.morning.rcntx.cn.gov.cn.rcntx.cn http://www.morning.kuaijili.cn.gov.cn.kuaijili.cn http://www.morning.jtmql.cn.gov.cn.jtmql.cn http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn http://www.morning.qrmyd.cn.gov.cn.qrmyd.cn http://www.morning.qsy40.cn.gov.cn.qsy40.cn http://www.morning.dnvhfh.cn.gov.cn.dnvhfh.cn http://www.morning.pluimers.cn.gov.cn.pluimers.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.jgmlb.cn.gov.cn.jgmlb.cn