好久没写博客了啊...考试周真是烦人。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;
}
};