Leetcode | 171. Excel表列序号
给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。
例如
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
示例
输入: “A”
输出: 1
输入: “AB”
输出: 28
输入: “ZY”
输出: 701
题目解答
只是一个进制的转换,类似于26进制转换为10进制即可。
class Solution {
public:
int titleToNumber(string s) {
// 建立词典
map<char, int> m;
for (char i = 'A'; i <= 'Z'; i++)
m[i] = i - 'A' + 1;
int res = 0;
for (int i = 0; i < s.size(); i++){
res = res*26 + m[s[i]];
}
return res;
}
};