每日一练(41):Excel表列名称

简介: 给你一个整数 columnNumber ,返回它在 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


来源:力扣(LeetCode)


链接:https://leetcode-cn.com/probl...


方法一: 从1开始的26进制转换


思路分析


正常的26进制显示数字应该是0-25,而本题是1-26,那么在处理每一位之前进行减一,即可变成正常进制转换操作。


string convertToTitle(int columnNumber) {
    string ans;
    do {
        columnNumber--;
        ans = char(columnNumber % 26 + 'A') + ans;//得到字符列名称
        columnNumber /= 26;
    } while(columnNumber > 0);
    return ans;
}


方法二:取余+反转


思路分析


当余数为0时,我们不能取@而是应该取Z


string convertToTitle(int columnNumber) {
    string ans;
    while (columnNumber) {
        int remainder = columnNumber % 26;
        if (remainder == 0) { //如果余数是0,就像上一位借个1(26)出来,让余数强行等于26
            remainder = 26;
            columnNumber -= 26;
        }
        ans.push_back(remainder + 'A' - 1);
        columnNumber /= 26;
    }
    reverse(ans.begin(), ans.end());//字符串倒序
    return ans;
}


目录
相关文章
|
8月前
|
C++
Excel 表列序号(C++)
Excel 表列序号(C++)
80 0
|
8月前
|
算法
算法编程(十三):Excel 表列序号
算法编程(十三):Excel 表列序号
65 0
|
7月前
|
存储 算法 数据挖掘
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
|
7月前
|
算法 数据挖掘 大数据
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
|
8月前
【力扣】168. Excel表列名称、171. Excel 表列序号
【力扣】168. Excel表列名称、171. Excel 表列序号
120 1
|
8月前
|
Java 算法 Go
Java每日一练(20230330) Excel表列序号、最大数、颜色分类
Java每日一练(20230330) Excel表列序号、最大数、颜色分类
60 0
Java每日一练(20230330) Excel表列序号、最大数、颜色分类
|
8月前
|
Java
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
152 10
|
3月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
210 4
|
21天前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。