leetcode做题笔记168. Excel表列名称

news/2024/7/21 6:06:46 标签: leetcode, 笔记, 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 strSize) {
    int left = 0, right = strSize - 1;
    while (left < right) {
        char tmp = str[left];
        str[left] = str[right], str[right] = tmp;
        left++;
        right--;
    }
}

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

分析:

本题给出一个整数返回excel表中相对应的名称,注意到整数每对26取模一次则返回名称长度加一,且此新字符和取模的数有关,将这些字符记录下来,编写一个翻转函数来改变顺序,最后返回处理好的字符串即可

总结:

本题考察对字符串的应用,利用取模运算转换字符后翻转输出即可解决,时间复杂度O(n),空间复杂度O(n)


http://www.niftyadmin.cn/n/5081344.html

相关文章

[安洵杯 2019]easy_web - RCE(关键字绕过)+md5强碰撞+逆向思维

[安洵杯 2019]easy_web 1 解题流程1.1 阶段一1.2 阶段二2 思考总结1 解题流程 1.1 阶段一 1、F12发现提示md5 is funny ~;还有img标签中,有伪协议和base64编码 2、url地址是index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=   这就有意思了,这里的img明显是编码后的…

lNmp安装:

一、LNMP LNMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c; 能够提供动态Web站点服务及其应用开发环境。LNMP是一个缩写词&#xff0c;具体包括Linux操作系统、nginx网站服务器、MySQL数据库服务器、 PHP&#xff08;或…

2.线性表——数据结构学习

零个或多个数据元素的有限序列。 有序 &#xff08;每个元素有且只有一个前驱与后继&#xff09; -> 一对一的关系 前驱 &#xff08;第一个元素无前驱&#xff09;后继&#xff08;最后一个元素无后继&#xff09; 有限 线性表元素个数&#xff1a;n (n ≥ \geq ≥ 0)&a…

golang gorm——hook和session配置

orm hook和session gorm hook gorm提供了一些hook函数&#xff0c;在增删查改、事务操作前后执行。需要让model实现对应接口。hook函数的执行会先于gorm sql运行日志的打印。 // gorm 插入更新都会默认开启事务&#xff0c;如果业务无需开启&#xff0c;在设置中可以关闭 //…

[CISCN 2019初赛]Love Math - RCE(异或绕过)

[CISCN 2019初赛]Love Math 1 解题流程1.1 分析1.2 解题题目代码: <?php //听说你很喜欢数学,不知道你是否爱它胜过爱flag if(!isset($_GET[c]))

git版本管理的使用

目录 什么是Git&#xff1f; 为什么使用Git&#xff1f; Git基本概念 仓库&#xff08;Repository&#xff09; 提交&#xff08;Commit&#xff09; 分支&#xff08;Branch&#xff09; 合并&#xff08;Merge&#xff09; 基本Git命令 Git工作流程 最佳实践 总结…

BGP服务器租用腾讯云和阿里云价格对比

BGP云服务器像阿里云和腾讯云均是BGP多线网络&#xff0c;速度更快延迟更低&#xff0c;阿里云BGP服务器2核2G3M带宽优惠价格108元一年起&#xff0c;腾讯云BGP服务器2核2G3M带宽95元一年起&#xff0c;阿腾云atengyun.com分享更多云服务器配置如2核4G、4核8G、8核16G等配置价格…

Apollo源码

目录结构介绍 cyber 消息中间件&#xff0c;替换ros作为消息层 data 地图等生成好的数据放在这里&#xff08;其他数据待补充&#xff09; docker 容器相关 docs 文档相关 modules 定位&#xff0c;预测&#xff0c;感知&#xff0c;规划等自动驾驶模块 scripts 脚本 third_p…