动规(铺地砖) 字符串
790. 多米诺和托米诺平铺

一列一列地增加;
当前这列没有铺,则只能是,左边铺设了;
这一列铺了上面,则可以安装两个形状的骨牌;
这一列铺了下面,则可以安装两个形状的骨牌;
这一列全铺满,则有四种情况;
for(int i = 1; i <= n; i++) {
ans[i][0] = ans[i - 1][3];
ans[i][1] = (ans[i - 1][0] + ans[i - 1][2]) % mod;
ans[i][2] = (ans[i - 1][0] + ans[i - 1][1]) % mod;
ans[i][3] = (((ans[i - 1][0] + ans[i - 1][1]) % mod + ans[i - 1][2]) % mod + ans[i - 1][3]) % mod;
}
1160. 拼写单词
int[] pre = new int[26];
for(char ch : chars.toCharArray()) {
pre[ch - 'a'] += 1;记录已有字符
}
int ans = 0;
for(String cur : words) {
int[] t = new int[26];
for(char ch : cur.toCharArray()) {
t[ch - 'a'] += 1;
}
boolean flag = true;
for(int i = 0; i < 26; i++) {
if(t[i] > pre[i]) flag = false;如果不能满足当前单词该字符数量需求
}
ans += flag ? cur.length() : 0;
}
浙公网安备 33010602011771号