Menu Sidebar
Menu

December 2019

Count Square Submatrices with All Ones

给一个1和0的2d数组, 求有几个1围成的正方形. 这个题是dp做. dp[i][j] 代表以i和j为右下角的正方形的个数, 那么推导式: dp[i][j] = Math.min(dp[i-1][j-1], Math.min(dp[i-1][j], dp[i][j-1])), when dp[i][j] == 1. 这个推导式是通过观察得来的. 比如[1,1][1,1], 那么是5, 4个side = 1的和一个side = 2的正方形. 如果dp是[2,2][2,2], 那么则说明数组是[1,1,1][1,1,1][1,1,1].

Group the People Given the Group Size They Belong To

给一个数组, 每个数表示该位上的group的大小. 求组成这种数组的一个可能. 这个题就是用map存一下<大小, List<位>>, 然后每次先看map里有没有已经建立的数组, 如果没有就建一个把当前位置放进去, 如果有, 就看大小是不是满足当前的数, 如果满足就加到结果里, 如果不满足就放当前的位进去.

Concatenated Words

给一个字符串组, 返回所有在里面的由两个以上字符串拼接组成的字符串. 这个题主要考察剪枝, 首先要查重, 用一个set重新装一下数组, 然后按照字典序排序, 然后逐个看是不是答案, 验证的时候, 每个substring都要看一下, 用一个dp当memo, 记录已经看过的字符串.

Sum of Square Numbers

给一个数字, 问能不能有两个平方数组成. 这个题嘛…费马定理.可以做, 就是是否有偶数个4k+3这种形式的数字在里面. 然后最后还要判断一下, 是否这个数本身就是质数,

Newer Posts
Older Posts

书脊

这青苔碧瓦堆, 俺曾睡风流觉, 将五十年兴亡看饱.

December 2019
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
3031