前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【小Y学算法】⚡️每日LeetCode打卡⚡️——46.Excel 表列序号

【小Y学算法】⚡️每日LeetCode打卡⚡️——46.Excel 表列序号

作者头像
呆呆敲代码的小Y
发布2021-10-08 16:47:51
2890
发布2021-10-08 16:47:51
举报

请添加图片描述
请添加图片描述

算法题

  • 每天打卡一道算法题,既是一个学习过程,又是一个分享的过程
  • 提示:本专栏解题 编程语言一律使用 C# 和 Java 两种进行解题
  • 要保持一个每天都在学习的状态,让我们一起努力成为算法大神吧!
  • 今天是力扣算法题持续打卡第46天!

算法题


原题样例:Excel 表列序号

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。

例如

代码语言:javascript
复制
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

代码语言:javascript
复制
输入: columnTitle = "A"
输出: 1

示例 2:

代码语言:javascript
复制
输入: columnTitle = "AB"
输出: 28

示例 3:

代码语言:javascript
复制
输入: columnTitle = "ZY"
输出: 701

示例 4:

代码语言:javascript
复制
输入: columnTitle = "FXSHRXW"
输出: 2147483647

提示:

  • 1 <= columnTitle.length <= 7
  • columnTitle 仅由大写英文组成
  • columnTitle 在范围 [“A”, “FXSHRXW”] 内

C#方法:深度优先搜索

在这里插入图片描述
在这里插入图片描述

思路解析

代码:

代码语言:javascript
复制
public class Solution {
    public int TitleToNumber(string columnTitle) {
        int number = 0;
        int multiple = 1;
        for (int i = columnTitle.Length - 1; i >= 0; i--) {
            int k = columnTitle[i] - 'A' + 1;
            number += k * multiple;
            multiple *= 26;
        }
        return number;
    }
}

执行结果

代码语言:javascript
复制
通过
执行用时:68 ms,在所有 C# 提交中击败了84.52%的用户
内存消耗:24.4 MB,在所有 C# 提交中击败了96.28%的用户

复杂度分析

代码语言:javascript
复制
时间复杂度:O( n )
空间复杂度:O( 1 )

Java 方法一:二分查找

思路解析

在这里插入图片描述
在这里插入图片描述

代码:

代码语言:javascript
复制
class Solution {
    public int titleToNumber(String columnTitle) {
        int number = 0;
        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;
    }
}

执行结果

代码语言:javascript
复制
通过
执行用时:1 ms,在所有 Java  提交中击败了10.00%的用户
内存消耗:38.6 MB,在所有 Java 提交中击败了5.08%的用户

复杂度分析

代码语言:javascript
复制
时间复杂度:O( n )
空间复杂度:O( 1 )

总结

  • 今天是力扣算法题打卡的第四十六天!
  • 文章采用 C#Java 两种编程语言进行解题
  • 一些方法也是参考力扣大神写的,也是边学习边分享,再次感谢算法大佬们
  • 那今天的算法题分享到此结束啦,明天再见!
请添加图片描述
请添加图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原题样例:Excel 表列序号
    • C#方法:深度优先搜索
      • Java 方法一:二分查找
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档