当前位置: 首页 > article >正文

算法-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));
        }
    
    }
    


http://www.kler.cn/a/461944.html

相关文章:

  • 电脑找不到mfc110.dll文件要如何解决?Windows缺失mfc110.dll文件快速解决方法
  • MySQL秘籍之索引与查询优化实战指南
  • Javascript数据结构——图Graph
  • Java重要面试名词整理(二十):GatewaySkyWalking
  • Apache MINA 反序列化漏洞CVE-2024-52046
  • 40.3 prometheus预聚合源码解读
  • Mono里运行C#脚本17—load_tables
  • ica1
  • 青云客-网页端语音机器人
  • 笔上云世界微服务版
  • LabVIEW声波谐振管自动化测量系统
  • 33. 简易内存池
  • 使用jest-axe为你的前端项目自动化测试
  • 免费又开源:企业级物联网平台的新选择 ThingsPanel
  • 如何使用 OpenCV 扫描图像、查找表和时间测量
  • 数据结构与算法之查找
  • Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
  • C++ 内存
  • 混合合并两个pdf文件
  • FastAPI 集成 MySQL 和 Redis:模型与模式生成实践
  • ARM 架构--通用寄存器状态寄存器控制寄存器特殊用途寄存器
  • 【《python爬虫入门教程11--重剑无峰168》】
  • 算法进阶:贪心算法
  • 自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
  • 详细讲一下React中的路由React Router
  • [离线数仓] 总结