leetcode算法171.Excel 表列序号

简介: 当给你一个字符串 columnTitle 时,如何表示 Excel 表格中的列名称?本文带大家解决这个问题。

一、leetcode算法



1、Excel 表列序号


1.1、题目


给你一个字符串 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.2、思路


思路一:此题我们首先要找到规律,字母A-Z对应1-26,而且往前进一位就要乘以26,所以我们可以定义两个变量,一个是要返回的总数,一个是每一位要乘以的系数。


1.3、答案


23.png


class Solution {
    public int titleToNumber(String columnTitle) {
        //定义一个要返回的总数
        int number = 0;
        //定义一个相乘系数,最右边的乘以1,往前进一位再乘以26
        int multiple = 1;
        for(int i = columnTitle.length() -1; i >= 0; i--){
            int k = columnTitle.charAt(i) - 'A' + 1;
            number += k * multiple;
            multiple *= 26;
        }
        return number;
    }
}


复杂度分析


时间复杂度:O(n),其中 nn 是列名称 columnTitle 的长度。需要遍历列名称一次。


空间复杂度:O(1)。

目录
打赏
0
0
0
0
7
分享
相关文章
|
5月前
|
Leetcode 初级算法 --- 数组篇
Leetcode 初级算法 --- 数组篇
62 0
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
|
5月前
|
每日一道算法题(Leetcode 20)
每日一道算法题(Leetcode 20)
51 2
|
7月前
|
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
105 1
测试工程师的技能升级:LeetCode算法挑战与职业成长
|
7月前
|
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
87 6
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
95 2
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
73 1
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
97 1
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
102 0
|
7月前
|
LeetCode初级算法题:子数组最大平均数+二叉树的最小深度+最长连续递增序列+柠檬水找零
LeetCode初级算法题:子数组最大平均数+二叉树的最小深度+最长连续递增序列+柠檬水找零
60 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等