【力扣】168. Excel表列名称、171. Excel 表列序号

这篇具有很好参考价值的文章主要介绍了【力扣】168. Excel表列名称、171. Excel 表列序号。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

168. Excel表列名称

题目描述

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1
B -> 2
C -> 3

Z -> 26
AA -> 27
AB -> 28

示例 1:

输入:columnNumber = 1
输出:“A”

示例 2:

输入:columnNumber = 28
输出:“AB”

示例 3:

输入:columnNumber = 701
输出:“ZY”

示例 4:

输入:columnNumber = 2147483647
输出:“FXSHRXW”

提示:

  • 1 <= columnNumber <= 231 - 1

解题方案

  • C
void reverse(char* str) {
    int left, right = strlen(str) - 1;
    while (left < right) {
        char temp = str[left];
        str[left] = str[right];
        str[right] = temp;
        left++;
        right--;
    }
}

char* convertToTitle(int columnNumber) {
    char* str = (char*)malloc(sizeof(char) * 8);
    int i = 0;
    while (columnNumber > 0) {
        int temp = (columnNumber - 1) % 26 + 1;
        str[i++] = temp - 1 + 'A';
        columnNumber = (columnNumber - temp) / 26;
    }
    str[i] = '\0';
    reverse(str);
    return str;
}

复杂度分析
时间复杂度为 O(log⁡ 26 columnNumber)。
空间复杂度为 O(1)。返回值不计入空间复杂度。

171. Excel 表列序号

题目描述

给你一个字符串 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 <= columnTitle.length <= 7
  • columnTitle 仅由大写英文组成
  • columnTitle 在范围 [“A”, “FXSHRXW”] 内

解题方法

  • C 进制转换

int titleToNumber(char* columnTitle) {
    int result = 0;
    long n = 1;

    for (int i = strlen(columnTitle) - 1; i >= 0; i--) 
    {
        int temp = columnTitle[i] - 'A' + 1;
        result = result + temp * n;
        n = n * 26;
    }

    return result;
}

复杂度分析
时间复杂度为 O(n)。
空间复杂度为 O(1)。文章来源地址https://www.toymoban.com/news/detail-847865.html

到了这里,关于【力扣】168. Excel表列名称、171. Excel 表列序号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • leetcode-Excel 表列序号

    171. Excel 表列序号 本题与168. Excel表列名称 是互为逆向的 题解: 其实这就是一个26进制数的转换,我们以AB为例,A目前是最高位,那他的值是26*1,因为A对应的是1,B是2,所以值为28

    2024年01月25日
    浏览(25)
  • C# Excel 表列序号

    给你一个字符串 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 = columnTitle.leng

    2024年02月12日
    浏览(38)
  • C# Excel表列名称

    给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。 例如: A - 1 B - 2 C - 3 … Z - 26 AA - 27 AB - 28 … 示例 1: 输入:columnNumber = 1 输出:“A” 示例 2: 输入:columnNumber = 28 输出:“AB” 示例 3: 输入:columnNumber = 701 输出:“ZY” 示例 4: 输入:columnNumber = 2147483647

    2024年02月11日
    浏览(70)
  • 【每日一题】Excel表列名称

    题目链接 题目描述: 给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。 例如: A - 1 B - 2 C - 3 … Z - 26 AA - 27 AB - 28 … 示例 1: 输入:columnNumber = 1 输出:“A” 示例 2: 输入:columnNumber = 28 输出:“AB” 示例 3: 输入:columnNumber = 701 输出:“ZY” 示例 4: 输入:

    2024年01月22日
    浏览(25)
  • LeetCode171. Excel Sheet Column Number

    Given a string columnTitle that represents the column title as appears 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: columnTitle = “A” Output: 1 Example 2: Input: columnTitle = “AB” Output: 28 Example 3: Input: columnTitle = “ZY” Output: 701 Constraints:

    2024年02月19日
    浏览(28)
  • Golang每日一练(leetDay0061) 表列序号、阶乘后的零

    目录 171. Excel 表列序号 Excel Sheet Column Number  🌟 172. 阶乘后的零 Factorial Trailing Zeroes  🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C++每日一练 专栏 Java每日一练 专栏 给你一个字符串  columnTitle  ,表示 Excel 表格中的列名称。返回  该列名称对

    2024年02月04日
    浏览(41)
  • C/C++每日一练(20230518) 表列序号、移除元素、接雨水

    目录 1. Excel表列序号  🌟 2. 移除元素  🌟 3. 接雨水  🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C++每日一练 专栏 Java每日一练 专栏 给你一个字符串  columnTitle  ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。 例如, 示例

    2024年02月06日
    浏览(23)
  • Java使用POI读取Excel名称管理器

    本文主要介绍如何使用poi读取到Excel的名称管理器中的内容。并且定位到单元格。 在企业的开发中可能需要通过名称管理器定位到某个单元格,然后在单元格上生成签名。 Java:Jdk1.8 poi:5.2.3 maven依赖(pom.xml): poi的WorkBook有个getNames方法可以读到名称。 Excel的名称在下图中新建

    2024年02月14日
    浏览(31)
  • office提示 Excel 4.0函数以定义名称保存

    重点: 对于office2016以上版本如果出现该提示且安装有MySQL数据库及其他类似数据库,请直接看第三种解决方案。 使用方案3之后关闭Excel后重新打开就好了 需要找到C盘下的“个人宏工作簿”目录,删除下面的宏文件PERSONAL.XLSB,目录为C:UsersXXXAppDataRoamingMicrosoftExcelXLSTART,

    2024年02月04日
    浏览(38)
  • 【探讨】Java POI 处理 Excel 中的名称管理器

    最近遇到了一些导表的问题。原本的导表工具导不了使用名称管理器的Excel。 首先我们有两个Sheet。B1用的是名称管理器中的AAA, 而B2用的对应的公式。 第二个sheet,名为Test2: 这是一段简化的代码: 控制台的输出为: 这意味着无法解析这个命名统计后的值。 为啥公式可以执行

    2024年02月15日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包