Problem: 1230. 抛掷硬币
思路设dp[i][j]为扔i枚硬币,其中j枚为正面向上的情况
边界条件:不考虑i为0的情况,当i为1时
令i遍历2到prob.size,j遍历0到i,对于任意j即前i枚硬币中有j枚为正面,有如下两...
Problem: 1259. 不相交的握手
思路设是n个人握手时的可能性,我们令i从0遍历到numPeople
考虑i个人握手的情况,当第i个人(最后一个人)与第k个人握手(从1起始)时,假设所有人站成一圈,则此时i和k之间的连线将所有人分为k...
原题地址:https://leetcode.cn/problems/minimum-difficulty-of-a-job-schedule/
题解二维动态规划这道题的含义是:给定一个数组,将其切分成多个连续的子区间,求每个子区间最大值之和的最小值...
Problem: 1339. 分裂二叉树的最大乘积
思路题意可以理解为:将整个二叉树从任意一个节点(除根节点)摘下,使该节点成为一个新的根,从而将整个二叉树拆分为两颗子树。我们需要找到一个节点,从这个节点摘下后两棵子树的和的乘积最大。
我们可以...
原题地址:https://leetcode.cn/problems/restore-the-array/
题解设dp[i]为s的子串s[0,i]的方案数
令j遍历i~0,自然地,我们可以将子串进一步切分为s[0,j-1]和[j,i]两部分
同时,...
Problem: 1463. 摘樱桃 II
思路定义在grid[0][0]处的机器人为a,在grid[0][grid[0].size-1]处的机器人为b
由题意我们可以知道,在任意一步中,机器人a与机器人b都是在同一行的
dp[row][a][...
Problem: 1547. 切棍子的最小成本
思路算上起始点(0)和末尾点(n),我们一共可以将整个棍子分为n+1个节点,我们可以建立一个Listnodes,按顺序记录整根棍子中的所有切割点,并包含起始点和末尾点
以该图为例,我们知道cut...
Problem: 1575. 统计所有可行路径
思路基于BFS的思路,设dp[a][b]为从start出发,燃油为fuel,达到城市a时剩余燃油b的可能路径
自然地,我们应当从dp[start][fuel]开始考虑,遍历locations中的所...
Problem: 1626. 无矛盾的最佳球队
思路参照题解思路
由题意可知,一个队伍中年龄较大的球员必定分数大于年龄较小的成员,换句话说,球队中年龄最大的球员也必然是分数最高的球员,我们可以按照年龄或者分数的任意一者对队伍中的球员排序,则此时...
Problem: 1639. 通过给定词典构造目标字符串的方案数
[TOC]
初始思路将整个words抽象成一个char类型的矩阵,则题干可以理解为:有一个初始指向第0列列指针chrIndex,我们每次可以进行两种操作中的一种:
将列指针向...