【华为OD题库-109】正整数excel编号的转换-java

题目

用过excel的都知道excel的列编号是这样的:

a b c ...z aa ab ac ... az ba bb bc ...yz za zb zc ...Zz aaa aab aac ...分别代表以下编号:

123....26 2728 2. ...52 53 54 5 ...76 67767867....702703704 705 ...请写个函数,完成从一个正整数到这种字符串之间的转换。
输入描述:

一行,一个数字
输出描述:

excel样式的字符串
示例1:
输入∶

1
输出:

a
示例2:
输入∶

26
输出:

z
示例3:
输入:

27
输出:

aa

思路

26进制的转换问题

题解

java 复制代码
package hwod;

import java.util.Scanner;

public class ExcelId {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();
        System.out.println(excel2Id(k));
    }

    private static String excel2Id(int k) {
        String template = "abcdefghijklmnopqrstuvwxyz";
        StringBuilder sb = new StringBuilder();
        do {
            sb.append(template.charAt((k - 1) % 26));
            k = (k - 1) / 26;
        } while (k > 0);

        return sb.reverse().toString();
    }

}

推荐

如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。

说明

本专栏所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_31076523/article/details/134176793。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

相关推荐
Seven971 天前
剑指offer-80、⼆叉树中和为某⼀值的路径(二)
java
怒放吧德德1 天前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆2 天前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌2 天前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊2 天前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang2 天前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang2 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解2 天前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SimonKing2 天前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean2 天前
Jackson View Extension Spring Boot Starter
java·后端