0%

excel-sheet-column-title

题目描述

给定一个正整数,返回它在 Excel 表中相对应的列名称。

题解

还是数学原理没搞清楚啊……在一个 0 上面卡那么久。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
string convertToTitle(int n) {
//相比于十进制:没有0占位;从右往左增加字符串
string s="";
int num=n;
while(num>0)
{
num--;
s=char('A'+(num%26))+s;
num=num/26;
}
return s;
}
};

$…+x_3{26}^2+x_2{26}^1+x_1*{26}^0=number$

$x_1$的正常范围是$0-25$,但现在是$1-26$,所以需要进行修正,在两边都减一:

$…+x_3{26}^2+x_2{26}^1+(x_1-1)*{26}^0=number-1$