第一题
先判断n能不能被2整除,如果可以直接返回n,否则返回2*n
class Solution {
public:
int smallestEvenMultiple(int n) {
if(n % 2 == 0)return n;
else return 2 * n;
}
};
第二题
先创建一个数组算s中每个字母与前一个字母在字母表上的距离,再遍历一遍数组,并记录最长的连续1的长度。
class Solution {
public:
int longestContinuousSubstring(string s) {
int a[s.size() - 1];
for(int i = 1 ; i < s.size() ; i ++){
a[i - 1] = s[i] - s[i - 1];
}
int q = 0;
int qq = 0;
for(auto x : a)
{
if(x == 1)q ++;
else q = 0;
qq = max(q , qq);
}
return qq + 1;
}
};