算法-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));
        }
    
    }
相关推荐
逻辑驱动的ken1 分钟前
Java高频面试考点14
开发语言·数据库·算法·哈希算法
故事还在继续吗5 分钟前
C++17关键特性
开发语言·c++·算法
va学弟8 分钟前
Agent入门开发(2):个性化功能添加
java·服务器·ai
Rabitebla8 分钟前
【数据结构】消失的数字+ 轮转数组:踩坑详解
c语言·数据结构·c++·算法·leetcode
8486981198 分钟前
Cursor 用 Java + Vue3 做了一个可落地的酒店管理系统(HMS),支持多门店、RBAC、财务结算,源码开源!
java·开发语言·开源
菜菜的顾清寒10 分钟前
力扣100(20)旋转图像
算法·leetcode·职场和发展
Navigator_Z10 分钟前
LeetCode //C - 1025. Divisor Game
c语言·算法·leetcode
深念Y11 分钟前
王者荣耀与英雄联盟数值设计对比:穿透、乘算与加算、增伤乘算更厉害,减伤加算更厉害
数学·算法·游戏·建模·游戏策划·moba·数值
budingxiaomoli18 分钟前
优选算法-多源bfs解决拓扑排序问题
算法·宽度优先
隔壁大炮18 分钟前
10.PyTorch_元素类型转换
人工智能·pytorch·深度学习·算法