摘要:
因为n_rows和n_cols最大能到104,所以不能开二维数组,因为那样空间复杂度回到108。 题目说了调用flip和reset的次数加起来不会超过1000次,所以矩阵是比较稀疏的,我们只需要记录所有1的位置即可。 我们可以用一个哈希表记录所有1的位置。为了方便,我们把二维的位置映射到一个int变 阅读全文
posted @ 2020-11-12 10:23
machine_gun_lin
阅读(107)
评论(0)
推荐(0)
摘要:
用dp[i]表示当面值为i的时候,不同的方案个数。目标是求出凑出amount的方案个数,也就是dp[amount]。 对于每个coins[i],可以得到当金额j为coins[i] ~ amount的方案数dp[j] += d[j - coins[i],也就是金额j可以由金额j - coins[i]加 阅读全文
posted @ 2020-11-12 10:08
machine_gun_lin
阅读(53)
评论(0)
推荐(0)
摘要:
首先,我们可以把所有洗衣机内的衣服数量累加求和,得到总的衣物的数量sum,假设洗衣机的数量为n,如果sum % n不为0,则无解,因为无法让所有洗衣机的数量相同。 如果sum % n为0,我们求出sum / n的结果avg,也就是最终当所有洗衣机衣服数量相同时每台洗衣机的衣服数量。 题目要我们求让所 阅读全文
posted @ 2020-11-12 09:52
machine_gun_lin
阅读(132)
评论(0)
推荐(0)
摘要:
经典动态规划问题。用dp[i][j]表示字符串s的以i开头,以j结尾的子串的最大回文子序列的长度。我们要求的s的最长回文子序列的长度就是dp[0][n - 1]。 考虑一下数组的初始化,对于所有的i(0 ⇐ i < n),都有dp[i][i] = 1,表示单个字母可以组成一个长度为1的回文子序列。 阅读全文
posted @ 2020-11-12 09:26
machine_gun_lin
阅读(102)
评论(0)
推荐(0)

浙公网安备 33010602011771号