20240404专题

20240404-算法复习打卡day44||● 完全背包● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ

01背包 for(int i = 0; i < weight.size(); i++) { // 遍历物品for(int j = bagWeight; j >= weight[i]; j--) { // 遍历背包容量dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);}} 完全背包 // 先遍历物品,再遍历背包fo

20240404-1544.把字符串变好

题目要求: 给定一个由小写和大写英文字母组成的字符串 s。 一个好的字符串是没有两个相邻字符 s[i] 和 s[i + 1] 的字符串,其中:0 <= i <= s.length - 2 s[i] 是小写字母,s[i + 1] 是相同的字母,但为大写字母,反之亦然。 为了使字符串变好,您可以选择使字符串变坏的两个相邻字符并将其删除。 您可以继续这样做,直到字符串变得良好为止。 做好后返回字符