JAVA 之 每日一记 之 算法( 给你一个Excel表列序号,返回出它对应的数字 )
2024-10-20 08:56:38
代码结果:(只想要代码的可以离开了,代码给你了,绝对能用的。想要思路的往下看。)
class Solution {
public int titleToNumber(String s) {
int ans = 0;
for(int i=0;i<s.length();i++) {
int num = s.charAt(i) - 'A' + 1;
ans = ans * 26 + num;
}
return ans;
}
}
解题思路
标签:字符串遍历,进制转换
初始化结果 ans = 0,遍历时将每个字母与 A 做减法,因为 A 表示 1,所以减法后需要每个数加 1,计算其代表的数值 num = 字母 - ‘A’ + 1
因为有 26 个字母,所以相当于 26 进制,每 26 个数则向前进一位
所以每遍历一位则ans = ans * 26 + num
以 ZY 为例,Z 的值为 26,Y 的值为 25,则结果为 26 * 26 + 25=701
最新文章
- Linux安全基础:sed命令的使用
- Docker Registry服务启动过程浅析
- 使用LinkedList模拟一个堆栈或者队列数据结构
- Android事件传递机制(转)
- 3243: [Noi2013]向量内积 - BZOJ
- zoj 2972 - Hurdles of 110m
- dyld binding test
- jQuery 怎么实现文字显示2s,消失0.5s,再显示2s,再消失0.5s,以此循环
- lucene 查询 (转载)
- 第九篇 C#实现螺旋矩阵
- Gradle之恋-任务2
- Kafka Cached zkVersion [62] not equal to that in zookeeper, skip updating ISR (kafka.cluster.Partition) 问题分析
- PO订单审批通过API
- phpstudy运行时出现没有安装VC库
- django 之 stark组件
- spring boot 常见的第三方集成
- Jenkins 配置CI/CD任务
- smarTTY总是失败连接的原因
- 洛谷P1462通往奥格瑞玛的道路题解
- go get 的使用