复盘|第109场双周赛
检查数组是否是好的
【一次遍历】按题意模拟判断。
将字符串中的元音字母排序
【排序 + 模拟】先提取字符串中所有元音字母,然后排序,对排序后的数组一次替换原字符串中元音字母。
访问数组中的位置使分数最大
【状压DP】对于nums中第i位数字num,有两种选择:1.从奇偶性相同的位置跳过来,dp[i] = dp[i - 1] + num;2.从奇偶性相同的位置跳过来,dp[i] = dp[i - 1] + num - x。因为奇偶就两种状态,没必要用二维dp(dp[i][0]表示奇数dp,dp[i][1]表示偶数dp),用%2进行状态压缩。
将一个数字表示成幂的和的方案数
【0-1背包DP】把正整数的x次幂看成一个物品,求的就是把n件物品凑成n的方案数。可以预处理i的x次幂。