算法-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));
        }
    
    }
相关推荐
行者全栈架构师4 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_04 小时前
mac(m5)平台编译openjdk
java
JieE21214 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack201 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树1 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java
JieE2122 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法