[leetcode] 171. Excel Sheet Column Number

本文介绍了一种将Excel工作表中的列标题转换为其对应数字编号的算法实现。该算法采用类似于二进制数的计算方式,以26为基数进行转换。通过逐字符解析列标题并计算其对应的数值,实现了从“A”到“1”,“Z”到“26”,再到“AA”到“27”的转换。

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  

Solution:

Idea: similar to binary numbers, base = 26

<span style="font-size:14px;">class Solution {
public:
    int titleToNumber(string s) {
        int ret = 0;
        for(int i = 0; i < s.size(); i++){
            int digit = s[i] - 'A' + 1;
	    # ret += pow(26, s.size()-i-1) * digit;
            ret += power(26, s.size()-i-1) * digit;
        }
        return ret;
    }
    
    int power(int base, int index){
        int ret = 1;
        for (int i = 0; i < index; i++)
            ret *= base;
            
        return ret;
    }
};</span>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值