每日一练(42):Excel表序号

简介: 给你一个字符串 columnTitle ,表示 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"] 内


来源:力扣(LeetCode)


链接:https://leetcode-cn.com/probl...


方法一: 进制转换(从前到后)


思路分析


这道题要求将 Excel 表中的列名称转换成相对应的列序号。由于 Excel 表的列名称由大写字母组成,大写字母共有 26 个,因此列名称的


表示实质是 26 进制,需要将 26 进制转换成十进制。


26进制转换,根据ASCII码得到值。


int titleToNumber(string columnTitle) {
    int ans = 0;
    for (char c : columnTitle) {
        int k = c - 'A' + 1;
        ans = ans * 26 + k;
    }
    return ans;
}


方法二:进制转换(从后到前)


思路分析


26进制转换,根据ASCII码得到值。


int titleToNumber(string columnTitle) {
    int ans = 0;
    long multiple = 1;
    int n = columnTitle.length() - 1;
    for (int i = n; i >= 0; --i) {
        int k = columnTitle[i] - 'A' + 1;
        ans += k * multiple;
        multiple *= 26;
    }
    return ans;
}


目录
相关文章
|
6天前
|
人工智能 数据可视化 机器人
【办公自动化】Excel透视表的简单应用
【办公自动化】Excel透视表的简单应用
|
6天前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
38 1
|
6天前
|
数据采集 数据可视化 数据处理
【办公自动化】在Excel中按条件筛选数据并存入新的表2.0
【办公自动化】在Excel中按条件筛选数据并存入新的表2.0
56 1
|
6天前
|
Java Apache Spring
springboot如何导出Excel某个表的表字段以及字段类型
springboot如何导出Excel某个表的表字段以及字段类型
42 0
|
6天前
|
关系型数据库 MySQL 数据库连接
python查询数据库的某个表,将结果导出Excel
python查询数据库的某个表,将结果导出Excel
59 0
|
6天前
|
C++
Excel 表列序号(C++)
Excel 表列序号(C++)
26 0
|
6天前
|
算法
算法编程(十三):Excel 表列序号
算法编程(十三):Excel 表列序号
35 0
|
6天前
【力扣】168. Excel表列名称、171. Excel 表列序号
【力扣】168. Excel表列名称、171. Excel 表列序号
|
6天前
|
Java
|
6天前
|
数据采集 数据可视化 数据处理
【办公自动化】在Excel中按条件筛选数据并存入新的表
【办公自动化】在Excel中按条件筛选数据并存入新的表
42 0