算法编程(十三):Excel 表列序号

简介: 算法编程(十三):Excel 表列序号

写在前面


今天我们继续来解算法题,一看题目就很熟悉,前两天刚做了《Excel表列名称》,是通过数值,最后要转成字母名称。

今天的这道题,是要通过字母串转成相应的数值。

有些不一样,一起来看一下吧。

image.png

题目解读


要解答当前题,首先要看一下《Excel表列名称》:这道题是通过数值来转换成序号名称,原理上是利用了进制之间的转换方式。

那么我们当前这道题要如何解决呢?

自然是要通过反向操作来解决这个问题了。

我的思路大概是这样,大家可以自行参考一下。

首先是要将每一个字符转换成数值,当然了要从最后一位字符开始算起。

然后将转换后的字符进行相加,然后利用一个中间值来衡量每一位所要乘上的倍数,比如11这个数值,是一个十进制的数值。

在个位时,是1,倍数也是1;在十位时,也是1,倍数变为了10。

在本道题上来说,也是一样的,我们要将倍数当成中间值保存下来才行。

有了这些思路,我们就可以把具体的代码写出来了。

代码实现


代码如下所示,很简洁,并不复杂;大家一看就能明白了,有问题可以随时评论区。

class Solution {
    public int titleToNumber(String columnTitle) {
        int n = 0;
        int z = 1;
        for (int i = columnTitle.length() - 1; i >= 0; i--) {
            int k = columnTitle.charAt(i) - 'A' + 1;
            n += k * z;
            z *= 26;
        }
        return n; 
    }
}

执行结果:


image.png

其他思路


这个我也没有什么其他思路了,主要还是进制的相互转换。

总结


今天这道题,主要是考察进制规则如何相互进行转换,大家学会了吗?


相关文章
|
2月前
|
存储 分布式计算 算法
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
52 0
|
6天前
|
存储 算法 Python
震撼!Python算法设计与分析,分治法、贪心、动态规划...这些经典算法如何改变你的编程世界!
【7月更文挑战第9天】在Python的算法天地,分治、贪心、动态规划三巨头揭示了解题的智慧。分治如归并排序,将大问题拆解为小部分解决;贪心算法以局部最优求全局,如Prim的最小生成树;动态规划通过存储子问题解避免重复计算,如斐波那契数列。掌握这些,将重塑你的编程思维,点亮技术之路。
14 1
|
1月前
|
机器学习/深度学习 算法 搜索推荐
编程之舞:探索算法的优雅与力量
【6月更文挑战第10天】在软件的世界里,算法是构筑数字宇宙的基石。它们如同精心编排的舞蹈,每一个步骤都充满着逻辑的美感和解决问题的力量。本文将带领读者走进算法的世界,一起感受那些精妙绝伦的编程思想如何转化为解决现实问题的钥匙。
19 3
|
1月前
|
存储 算法 数据挖掘
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
|
1月前
|
算法 数据挖掘 大数据
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
|
21天前
|
人工智能 算法 搜索推荐
Java算法编程详解和程序实例
Java算法编程详解和程序实例
17 0
|
1月前
|
算法 安全 数据挖掘
解锁编程之门:数论在算法与加密中的实用应用
解锁编程之门:数论在算法与加密中的实用应用
|
2月前
|
设计模式 算法 Java
如何在面试中应对编程与算法面试?
面试中,编程能力至关重要,主要分为三个层次:初级关注基本功,如语法、原理和常见问题解决;高级涉及数据结构与算法,基础算法如排序对中小厂重要,大厂则需深入数据结构;资深专家层次需精通设计模式,以保证代码的扩展性和维护性。提升编程技能可采用PDCA循环学习法,从计划到执行、检查、行动不断迭代。通过实践项目如开发后端系统、测试框架来检验学习成果,并逐步学习算法和设计模式。坚持不懈的努力和重构将助你成为技术专家。记住,超越大多数人的关键在于持续学习和专注深耕。
16 0
如何在面试中应对编程与算法面试?
|
2月前
【力扣】168. Excel表列名称、171. Excel 表列序号
【力扣】168. Excel表列名称、171. Excel 表列序号
102 1
|
2月前
|
开发工具
如何使用 Excel VBA 编程,点击按钮后跳转到有数据填充的最末一行
如何使用 Excel VBA 编程,点击按钮后跳转到有数据填充的最末一行