171. Excel 表列序号
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
示例 1:
输入: columnTitle = "A" 输出: 1
示例 2:
输入: columnTitle = "AB" 输出: 28
示例 3:
输入: columnTitle = "ZY" 输出: 701
提示:
- 1 <= columnTitle.length <= 7
- columnTitle仅由大写英文组成
- columnTitle在范围- ["A", "FXSHRXW"]内
有点奇怪,我现在都不知道我是怎么解出来的:但是我竟然超过了100%的用户。。。。
 直接看代码:
class Solution {
public:
    int titleToNumber(string columnTitle) {
        int distance=int('A'-1);
        int num=0;
        int order=0;
        for(char c:columnTitle)
        {
            num+=num*25+c-distance;
        }
    return num;
    }
};我现在都不明白为什么是乘以25而不是26。
明白了,基础知识的问题:num+=num*25+a,即num=num+num*25+a=num*26+a;当然可以这样写:
class Solution {
public:
    int titleToNumber(string columnTitle) {
        int num=0;
        for(char c:columnTitle)
        {
            num=num*26+(c-'A'+1);
        }
    return num;
    }
};下面我们来看一看答案:
class Solution {
public:
    int titleToNumber(string columnTitle) 
    {
        const int change='A'-1;
        int ans=0;
        for(char&alt:columnTitle){
            ans*=26;
            ans+=alt-change;
        }
        return ans;
    }
};基本思路是一样的。
  




![[机器学习]简单线性回归——最小二乘法](https://img-blog.csdnimg.cn/direct/00356d6433744736bcf023505acb0eb4.png)














