算法-Excel字母表转换成数字 26进制转换

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

复制代码
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

复制代码
输入:columnNumber = 1
输出:"A"

示例 2:

复制代码
输入:columnNumber = 28
输出:"AB"

示例 3:

复制代码
输入:columnNumber = 701
输出:"ZY"

示例 4:

复制代码
输入:columnNumber = 2147483647
输出:"FXSHRXW"

提示:

  • 1 <= columnNumber <= 231 - 1

    public class Solution {
        //用周期法+进制规律
        //假设num xxx为26进制
        //10进制为x+x*26^1+x*26^2
        public static String convertToTitle(int columnNumber) {
            //10进制成26
            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'};
            if(columnNumber<26)
            {
                return Character.toString(arr[columnNumber-1]);
            }else
            {
                String s="";
                while (columnNumber>26)
                {
                    if(columnNumber%26==0)
                    {//26的整数倍速
                        s='Z'+s;
                        columnNumber=columnNumber/26-1;
                    }else {
                        //1-25
                        s=arr[columnNumber%26-1]+s;
                        columnNumber=columnNumber/26;
                    }
    
    
                }
                s=arr[columnNumber-1]+s;
                return s;
    
            }
        }
    
        public static void main(String[] args) {
            System.out.println(convertToTitle(26*26*26));
        }
    
    }
    
相关推荐
hlsd#7 分钟前
微服务中如何使用openfeign上传文件
java·spring boot·spring·微服务
南宫生10 分钟前
力扣动态规划-26【算法学习day.120】
java·数据结构·算法·leetcode·动态规划
不想编程小谭12 分钟前
从小白开始的动态规划
c++·算法·动态规划
一只码代码的章鱼17 分钟前
数据结构与算法-动态规划-状态机(股票问题,密码设计)
算法·动态规划·代理模式
surtr129 分钟前
【C++】RBTree(红黑树)模拟实现
数据结构·c++·算法·stl·map·红黑树·rbtree
zjkzjk771136 分钟前
函数指针(Function Pointer)与 typedef int (*FuncPtr)(int, int);typedef与using(更推荐)
开发语言·c++·算法
余辉zmh40 分钟前
【动态规划篇】:动态规划解决路径难题--思路,技巧与实例
c++·算法·leetcode·动态规划
kdayjj9661 小时前
从基础到进阶:一文掌握排序、查找、动态规划与图算法的全面实现(C++代码实例解析)
c++·算法·动态规划
孑么1 小时前
力扣 单词拆分
java·算法·leetcode·职场和发展·动态规划
竹下为生1 小时前
LeetCode --- 435周赛
算法·leetcode·职场和发展