遍历字符串,遇到数字或A到F之间的字母时将其加入一个临时字符串中,遇到G到Z的字母时将之前的临时字符串变为数字并更新答案。
时间复杂度
空间复杂度
class Solution {
public:
/**
*
* @param s string字符串
* @return int整型
*/
int sti(string a) {
int ret = 0;
for (int i = 0; i < a.length(); i++) {
ret *= 16;
if (a[i] >= '0' && a[i] <= '9') ret = ret + a[i] - '0';
else ret = ret + a[i] - 'A' + 10;
}
return ret;
}
int solve(string s) {
// write code here
int ans = 0;
int len = s.length();
string a;
a.clear();
for (int i = 0; i < len; i++) {
if ((s[i] >= '0' && s[i] <= '9') || (s[i] >= 'A' && s[i] <= 'F')) {
a += s[i];
} else {
if (i != 0 && ((s[i - 1] >= '0' && s[i - 1] <= '9') || (s[i - 1] >= 'A' && s[i - 1] <= 'F'))) {
ans = max(ans, sti(a));
a.clear();
}
}
}
return ans;
}
};



京公网安备 11010502036488号