魔法师 (@Constanline)Leetcode每日一题 —— 3130. 找出所有稳定的二进制数组 II 中发帖

思路 
依然使用昨天的解答,今天再看感觉没那么反人类直觉了。昨天没说具体,今天再仔细解释下。

dp[i][j][k]代表前面已经有i 个 0 、 j 个 1,当前位选 k(0/1) 的数量。
那么首先把前面一位是1的和0的累加起来就是到目前为止i、j的所有可能数量,即dp[i][j][k]=dp[i-1][j][0]+dp[i][j-1][1]。
但是如果前面已经有连续limit个k了怎么办?这种情况就不能再填k了,要排除掉,即dp[i][j][0]-=dp[i-limit][j-1](当前位选0)或dp[i][j-1][1]-=dp[i][j-limit](当前位选1)

代码
class Solution {
private static final int MOD = 1000000007;
public int numberOfStableArrays(i...