阿里游戏9.25笔试

选择100,一个easy50,两个easy+各75,一个mid100.
1.easy:打印字符A跟B。AC
2.easy+:考虑给定时间和冷却时间,技能最大的伤害
这题感觉好难,没考虑完整,感觉是考虑技能伤害相等的情况出问题了。最后过了66%
3.easy+:倒序输出字符串。
用哈希表做就可以了。AC
4.mid:给定字符串a与字符串b。
字符串a可以任意删除小写字母或者将小写字母变成大写字母。问字符串a是否可能跟字符串b匹配。
这题没搞明白怎么做,用贪心过了28%
求大佬贴个第2题跟第4题
#阿里笔试##灵犀互娱#
全部评论
mid那题知道咋做了,就是动态规划。 int main() {     int q;     cin >> q;     for (int i = 0; i < q; ++i) {         string a, b;         cin >> a >> b;         int n = a.size();         int m = b.size();         vector<vector<bool>>dp(n + 1, vector<bool>(m + 1));         dp[0][0] = 1;         for (int i = 1; i <= n; ++i) {             for (int j = 1; j <= m; ++j) {                 if (a[i-1] == b[j-1] || (a[i - 1] >= 'a&(30185)#39; && a[i - 1] <= 'z&#39;&& a[i - 1] - 'a&(30185)#39; == b[j - 1] - 'A&#39;) ) {                     dp[i][j] = dp[i - 1][j - 1];                 }                 if (a[i - 1] >= 'a&(30185)#39; && a[i - 1] <= 'z&#39;)dp[i][j] = dp[i][j] || dp[i - 1][j];             }         }         if (dp[n][m])cout << "YES";         else cout << "NO";     } }
点赞 回复 分享
发布于 2022-09-26 00:03 北京

相关推荐

评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务