好久没写博客了啊…考试周真是烦人。216周赛可以说是最简单的一次周赛了吧,贪就vans了。
T1 检查两个字符串数组是否相等
签到打卡。
class Solution { public: bool arrayStringsAreEqual(vector<string>& word1, vector<string>& word2) { string str1 = "", str2 = ""; for(auto el : word1) { str1 += el; } for(auto el : word2) { str2 += el; } return str1 == str2; } };
T2 具有给定数值的最小字符串
贪心。首先先给n个位子上每个位子放一个a,然后从末尾开始填字符,如果当前k>25,余额足够,直接填z;如果k<= 25,就直接填第k个字字母进去。最后得到的这个字符串就一定是满足题意的序列。
class Solution { public: string getSmallestString(int n, int k) { string ans = ""; k -= n; for(int i = 0; i < n; i++) { int cur = min(k, 25); k -= cur; char ch = 'a' + cur; ans += ch; } reverse(ans.begin(), ans.end()); return ans; } };
评论
还没有任何评论,你来说两句吧!