Excel表列序号
题目:
思路:
【1】这道题乍看一下会觉得有点懵逼,但转化一下,便可以看成是多进制转10进制的样子:
//在二进制中,101这种可以看作为 2**2*1+2**1*0+2**0*1 那么对应转化为 A = 26**0*1 = 1*1 = 1 AB = 26**1*1 + 26**0*2 = 26*1 + 1*2 = 28 ZY = 26**1*26 + 26**0*25 = 26*26 + 1*25 = 676 + 25=701
【2】思路有了,便是转为数学公式,那么就要考虑限制了最大值FXSHRXW的计算是否超过了Integer.MAX_VALUE
代码展示:
public int titleToNumber(String columnTitle) { char[] chars = columnTitle.toCharArray(); int length = chars.length; int sum = 0; for (int i = 0; i < chars.length; i++) { sum += (chars[i]-'A'+1) * (int)Math.pow(26,length-i-1); } return sum; }
分类:
leetcode题目
标签:
面试算法题汇总
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」