【力扣】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)。

相关文章
|
4月前
|
存储 算法 数据挖掘
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
深入解析力扣168题:Excel表列名称(进制转换法详解及模拟面试问答)
|
4月前
|
算法 数据挖掘 大数据
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
深入解析力扣171题:Excel表列序号(进制转换法详解及模拟面试问答)
|
2月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
34 0
|
4月前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
39 1
|
26天前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。
|
2月前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
|
2月前
|
存储 Java Apache
|
2月前
|
数据可视化 Python
我是如何把python获取到的数据写入Excel的?
我是如何把python获取到的数据写入Excel的?
39 2
|
2月前
|
索引 Python
Python基于Excel多列长度不定的数据怎么绘制折线图?
本文档详述了如何运用Python从CSV格式的Excel文件中读取特定范围的数据,并基于这些数据绘制多条折线图。文件的第一列代表循环增长的时间序列,后续各列包含不同属性的数据。通过指定起始与结束行数,可选取一个完整的时间循环周期内的数据进行绘图。每列数据以不同颜色和线型表示,并且图片长度会根据时间序列的长度动态调整,确保图表清晰易读。最终生成的图表将保存至指定文件夹。
|
2月前
|
关系型数据库 MySQL Windows
MySQL数据导入:MySQL 导入 Excel 文件.md
MySQL数据导入:MySQL 导入 Excel 文件.md