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)。

相关文章
|
2月前
|
算法
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
49 1
测试工程师的技能升级:LeetCode算法挑战与职业成长
|
2月前
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
39 6
|
2月前
|
存储 算法 Java
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
55 2
|
2月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
41 1
|
2月前
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
40 1
|
2月前
|
存储 算法 Java
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
65 0
|
2月前
|
算法 Java
LeetCode初级算法题:子数组最大平均数+二叉树的最小深度+最长连续递增序列+柠檬水找零
LeetCode初级算法题:子数组最大平均数+二叉树的最小深度+最长连续递增序列+柠檬水找零
34 0
|
2月前
|
算法 Java
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
46 0
|
2月前
|
存储 算法 Java
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
23 0
|
2月前
|
算法 Java 索引
LeetCode初级算法题:寻找数组的中心索引+x的平方根+三个数的最大乘积+Leetcode 149:直线上最多的点数 Java详解
LeetCode初级算法题:寻找数组的中心索引+x的平方根+三个数的最大乘积+Leetcode 149:直线上最多的点数 Java详解
30 0
下一篇
无影云桌面