171. Excel Sheet Column Number

Description

Related to question Excel Sheet Column Title

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

Solution 1

/**
 * @param {string} s
 * @return {number}
 */
var titleToNumber = function(s) {
    "use strict";
    const repeat = (times, num) => times > 0 ? repeat(times-1, num)*num : 1;
    return s.split("").reverse()
        .map((ch, idx) => (ch.charCodeAt()-"A".charCodeAt() + 1)*repeat(idx, 26))
        .reduce((x, sum) => sum+x, 0);
};

Solution 2

/**
 * @param {string} s
 * @return {number}
 */
var titleToNumber = function(s) {
    "use strict";
    let sum = 0;
    for (let i = s.length-1; i >= 0; i--) {
        let times26 = 1;
        let j = (s.length-1)-i;
        while (j) {
            times26 *= 26;
            j--;
        }
        sum += (s[i].charCodeAt()-"A".charCodeAt() + 1)*times26;
    }
    return sum;
};

results matching ""

    No results matching ""