首页 > 基础资料 博客日记
力扣171(java)-Excel表列序号(简单)
2023-08-10 19:07:26基础资料围观774次
本篇文章分享力扣171(java)-Excel表列序号(简单),对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识
题目:
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: columnTitle = "A"
输出: 1
示例 2:
输入: columnTitle = "AB"
输出: 28
示例 3:
输入: columnTitle = "ZY"
输出: 701
提示:
- 1 <= columnTitle.length <= 7
- columnTitle 仅由大写英文组成
- columnTitle 在范围 ["A", "FXSHRXW"] 内
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/excel-sheet-column-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:
参考【宫水三叶】小姐姐的题解思路~,类比十进制转换方法进行26进制转换
十进制转换规则:
1.首先需要定义初始 num = 0;
2.然后for循环每一个字符串;
3.将上一次计算的 num * 进制数10,然后在加上当前的数字;
4.重复步骤3,直到循环条件不满足,最终求总和后返回结果即可。
26进制与十进制类似,只是26进制中没有0,A-Z为1~26,故获取当前位的数字为:columnTitle.charAt(i) - 'A' + 1。其他步骤仿照十进制就可以写出。
代码:
1 class Solution { 2 public int titleToNumber(String columnTitle) { 3 int n = columnTitle.length(); 4 int num = 0; 5 for(int i = 0; i < n; i++){ 6 num = num * 26 + (columnTitle.charAt(i) - 'A' + 1); 7 } 8 return num; 9 } 10 }

文章来源:https://www.cnblogs.com/liu-myu/p/16557777.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 一次 OOM 线上排查实录
- 从控制论看 Harness Engineering:当反馈回路终于能在"重要的地方"闭合
- AI 测试全场景提效:功能 / 性能 / 安全 / 自动化,用 AI 重塑测试工作流
- 你真的理解 volatile 关键字了吗?
- .NET 11 Preview 4 震撼发布:MAUI 抛弃 Mono,全量迁移 CoreCLR,性能与 NativeAOT 双炸场!
- 博客园 × Halo 建站|国产电商新选择,商城版永久授权,3 折升级特惠!
- .NET 与鸿蒙的“技术巧遇”
- Docker学习笔记:后端、数据库和反向代理怎么一起跑起来
- Codex 接入 Notion:把 AI 结果写回知识库
- 二次验证码TOTP 使用说明

