【CSDN 每日一练 ★☆☆】【数学】Excel表列名称

【CSDN 每日一练 ★☆☆】【数学】Excel表列名称
数学 进制转换

题目

给你一个整数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
思路
  • 26进制
实现
java 复制代码
public String convertToTitle(int n) {
    if (n <= 0) {
        return "";
    }
    StringBuilder sb = new StringBuilder();
    while (n > 0) {
        // 模26,范围在0~25之间
        n--;
        // 转成对应字符
        sb.append((char) (n % 26 + 'A'));
        n = n / 26;
    }
    // 逆序输出,其实用递归实现,不需要逆序
    return sb.reverse().toString();
}
相关推荐
TL滕15 分钟前
从0开始学算法——第十八天(分治算法)
笔记·学习·算法
LYFlied23 分钟前
【每日算法】LeetCode 84. 柱状图中最大的矩形
前端·算法·leetcode·面试·职场和发展
CoderCodingNo40 分钟前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
Liangwei Lin1 小时前
洛谷 P1955 [NOI2015] 程序自动分析
算法
zwjapple1 小时前
全栈开发面试高频算法题
算法·面试·职场和发展
不穿格子的程序员1 小时前
从零开始写算法——链表篇5:K个一组翻转链表 + 排序链表
算法·链表·分治
青鸟2181 小时前
从资深开发到脱产管理的心态转变
后端·算法·程序员
晨曦夜月1 小时前
笔试强训day7
开发语言·c++·算法
iAkuya1 小时前
(leetcode)力扣100 14合并区间(差分/排序)
算法·leetcode·职场和发展
leiming62 小时前
C++ 02 函数模板案例
开发语言·c++·算法