-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexcelSheetColumnNumber
48 lines (42 loc) · 942 Bytes
/
excelSheetColumnNumber
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*****************************/
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
Example 1:
Input: "A"
Output: 1
Example 2:
Input: "AB"
Output: 28
Example 3:
Input: "ZY"
Output: 701
/***************************/
class Solution {
public:
int titleToNumber(string s) {
map<char, int>mpp = { {'A',1},{'B',2},{'C',3},{'D',4 } ,{'E',5} ,
{ 'F',6 },{ 'G',7 },{ 'H',8 },{ 'I',9 } ,{ 'J',10 } ,
{ 'K',11 },{ 'L',12 },{ 'M',13 },{ 'N',14 } ,{ 'O',15 } ,
{ 'P',16 },{ 'Q',17 },{ 'R',18 },{ 'S',19 } ,{ 'T',20 } ,
{ 'U',21 },{ 'V',22 },{ 'W',23 },{ 'X',24 } ,{ 'Y',25 } ,
{'Z',26}
};
int size = s.length();
int sum = 0;
int count = size;
for (int i = 0; i < size; i++) {
sum += mpp[s[i]]*pow(26, count - 1);
count = count - 1;
}
cout << sum << endl;
return sum;
}
};