资讯专栏INFORMATION COLUMN

[Leetcode] Excel Sheet Column Title Number Convers

JowayYoung / 1440人阅读

摘要:进制复杂度时间空间思路得到数字,其实就是把进制的数转换为进制的数。算法就是基本的进制转换方法,从后往前第位的值乘上。不过因为是,而不是,相当于进制的数都整体减,才能对应上从开始的十进制数。

Excel Sheet Column Number

</>复制代码

  1. Related to question Excel Sheet Column Title

  2. Given a column title as appear in an Excel sheet, return its corresponding column number.

  3. For example:

  4. </>复制代码

    1. A -> 1
    2. B -> 2
    3. C -> 3
    4. ...
    5. Z -> 26
    6. AA -> 27
    7. AB -> 28
26进制 复杂度

时间 O(N) 空间 O(1)

思路

得到数字,其实就是把26进制的数转换为10进制的数。算法就是基本的进制转换方法,从后往前第n位的值乘上26^(n-1)。这里26进制数是1开始的,即A是1。

代码

</>复制代码

  1. public class Solution {
  2. public int titleToNumber(String s) {
  3. int num = 0, pow = 1;
  4. for(int i = s.length() - 1; i >= 0 ; i--){
  5. num += (s.charAt(i) - "A" + 1)*pow;
  6. pow *= 26;
  7. }
  8. return num;
  9. }
  10. }
Excel Sheet Column Title

</>复制代码

  1. Given a positive integer, return its corresponding column title as appear in an Excel sheet.

  2. For example:

  3. </>复制代码

    1. 1 -> A
    2. 2 -> B
    3. 3 -> C
    4. ...
    5. 26 -> Z
    6. 27 -> AA
    7. 28 -> AB
26进制 复杂度

时间 O(N) 空间 O(1)

思路

把10进制的转换成26进制,做法是除26取余,一直除到0,最后把余数逆序一下就行了。不过因为A是1,而不是0,相当于26进制的数都整体减1,才能对应上从0开始的十进制数。

代码

</>复制代码

  1. public class Solution {
  2. public String convertToTitle(int n) {
  3. StringBuilder sb = new StringBuilder();
  4. while(n != 0){
  5. sb.append((char)("A" + (n - 1) % 26));
  6. n = (n - 1) / 26;
  7. }
  8. return sb.reverse().toString();
  9. }
  10. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64699.html

相关文章

  • [LeetCode] 171. Excel Sheet Column Number

    Problem Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... Example 1: Input: A Output: 1 Exa...

    tianlai 评论0 收藏0
  • [LeetCode] Excel Sheet Column Number

    Problem Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 Solution ...

    nifhlheimr 评论0 收藏0
  • [LeetCode] 168. Excel Sheet Column Title

    Problem Given a positive integer, return its corresponding column title as appear in an Excel sheet. For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... Example 1: Input: 1Output: AEx...

    qc1iu 评论0 收藏0
  • LeetCode 攻略 - 2019 年 7 月上半月汇总(55 题攻略)

    摘要:微信公众号记录截图记录截图目前关于这块算法与数据结构的安排前。已攻略返回目录目前已攻略篇文章。会根据题解以及留言内容,进行补充,并添加上提供题解的小伙伴的昵称和地址。本许可协议授权之外的使用权限可以从处获得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目录 不...

    warmcheng 评论0 收藏0
  • [LintCode] Excel Sheet Column Number

    Problem Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, return its corresponding column number. Example A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 2...

    xialong 评论0 收藏0

发表评论

0条评论

JowayYoung

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<