171. Excel表列序号

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 171. Excel表列序号

171. Excel表列序号

本题来自LeetCode:171. Excel表列序号[1]

题目描述

给定一个Excel表格中的列名称,返回其相应的列序号。
例如,


    A - 1
    B - 2
    C - 3
    ...
    Z - 26
    AA - 27
    AB - 28
    ...

示例 1:


输入: "A"
输出: 1

示例 2:


输入: "AB"
输出: 28

示例 3:


输入: "ZY"
输出: 701

题目分析

题目解答


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

复杂度分析:
时间复杂度: O(n)
空间复杂度: O(1)

168. Excel表列名称

本题来自LeetCode:168. Excel表列名称[2]

题目描述

给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,


    1 - A
    2 - B
    3 - C
    ...
    26 - Z
    27 - AA
    28 - AB
    ...

示例 1:


输入: 1
输出: "A"

示例 2:


输入: 28
输出: "AB"

示例 3:


输入: 701
输出: "ZY"

题目分析

题目解答


class Solution {
    public String convertToTitle(int n) {
        String s = "";
        while(n != 0) {
            char c = (char)((n - 1)% 26 + 'A');
            s = c + s;
            n = (n - 1) / 26;
        }
        return s;
    }
}

复杂度分析:
时间复杂度: O(log26(n))
空间复杂度: O(1)

参考资料

  1. Excel表列序号: https://leetcode-cn.com/problems/excel-sheet-column-number

  2. Excel表列名称: https://leetcode-cn.com/problems/excel-sheet-column-title

原文始发于微信公众号(xiaogan的技术博客):

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 171. Excel表列序号


  转载请注明: 好好学java 171. Excel表列序号

 上一篇
93. 复原IP地址 93. 复原IP地址
本题来自LeetCode:93. 复原IP地址[1] 题目描述给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.
2021-04-05
下一篇 
37. 解数独 37. 解数独
36. 有效的数独本题来自LeetCode:36. 有效的数独[1] 题目描述判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字
2021-04-05