Leetcode No.168 Excel Sheet Column Title Excel表列名称(c++实现)
2021/8/2 14:06:37
本文主要是介绍Leetcode No.168 Excel Sheet Column Title Excel表列名称(c++实现),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 题目
1.1 英文题目
Given an integer columnNumber, return its corresponding column title as it appears in an Excel sheet.
1.2 中文题目
给定一个正整数,返回它在 Excel 表中相对应的列名称。
1.3输入输出
输入 | 输出 |
---|---|
columnNumber = 1 | "A" |
columnNumber = 28 | "AB" |
columnNumber = 701 | "ZY" |
columnNumber = 2147483647 | "FXSHRXW" |
1.4 约束条件
- 1 <= columnNumber <= 231 - 1
2. 分析
2.1 一般算法
这道题类似于十进制转化为其他进制的问题,因此可以类比进制转换的“除2取余法”,具体代码如下:
class Solution { public: string convertToTitle(int columnNumber) { int carry = -1;//存储余数 string result = ""; char element;//结果中的字母元素 while (columnNumber > 1 || (columnNumber == 1 && carry != 0)) { if (carry == 0) { // 这一步最关键,若某一位余数为0,则上一位减1 --columnNumber; } carry = columnNumber % 26; element = carry != 0 ? static_cast<char>(carry - 1 + 'A') : 'Z'; result = element + result; columnNumber /= 26; } return result; } };
这篇关于Leetcode No.168 Excel Sheet Column Title Excel表列名称(c++实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享