算法-excel表头位置转成对应数字 26进制转10进制

给你一个字符串 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"]

    复制代码
    public class Solution {
        //10进制成26
    
        public static int titleToNumber(String columnTitle) {
            //定义字母数组
            char[] arr=new char[]{'A','B','C','D','E','F','G','H',
                    'I','J','K','L','M','N','O','P',
                    'Q','R','S','T','U','V','W','X',
                    'Y','Z'};
            char[] arr2=columnTitle.toCharArray();//待处理字符串
            double sum=0;//结果
            int arrLen= arr2.length;//字符个数
            double cimi=0;//次密
            while (arrLen>0)
            {
                for (int i=0;i<26;i++)
                {
                    if(arr[i]==arr2[arrLen-1])
                    {   sum=sum+(i+1)*Math.pow(26,cimi); //x*26^n+...+x*26^0
                        cimi++;
                        break;
                    }
                }
                arrLen--;
            }
            return (int) sum;
        }
    
        public static void main(String[] args) {
            System.out.println(titleToNumber("FXSHRXW"));
        }
    }
相关推荐
Mahir086 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit7 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码7 小时前
C++ 内存分区 堆区
java·开发语言·c++
心中有国也有家7 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
绝知此事8 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海8 小时前
C# 隐式转换深度解析
java·开发语言·c#
碧海银沙音频科技研究院8 小时前
通话AEC与语音识别AEC的软硬回采链路
深度学习·算法·语音识别
放下华子我只抽RuiKe58 小时前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
一只大袋鼠8 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
csdn_aspnet8 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展