22年刷算法第一题

74 阅读1分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

前言

2022春招打卡活动,刷算法的快乐走起

题目描述

题目链接:171.EXCEL表格序列

题目描述我用截图leetcode的为主,题目如下图:

image.png

思路分析

题目解析:这是一道简单的算法题,就是给一个字符串然后求出代表的对应大小,我们假设A-Z分别对应1-26,那么这个字符串的最后一位就是表示对应数字,倒数第二位代表着(26乘以对应位数),倒数第三位代表(26的平方乘以对应位数)以此类推

解法:

/**
 * @param {string} columnTitle
 * @return {number}
 */
var titleToNumber = function(columnTitle) {
    let map = {
        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
    }
    let arr = columnTitle.split('').reverse()
    let total =0
    arr.forEach((item,index)=>{
        total+=map[item]*(26**index)
    })
    return total
};

image.png

总结

坚持就是胜利。第1题算法完成!