力扣(LeetCode)168. Excel表列名称(C++)

news2024/11/24 16:27:15

26进制

本题的数字从 1 1 1 开始,即 A = 1 A=1 A=1 Z = 26 Z=26 Z=26 。进制转化是依次提取数字从低到高的每一位,要求每一位从 0 0 0 开始 。对当前数字 − 1 -1 1 ,等于进制最低位 − 1 -1 1 ,也就是最低位看作 A = 0 A=0 A=0 Z = 25 Z=25 Z=25 。而每一位是从 A = 1 A=1 A=1 开始的, 1 − 1 1-1 11 变成 0 0 0 ,不影响高位 。

总结 : 求新位的时候,对当前数 − 1 -1 1 ,再进制转换,即为所求。

class Solution {
public:
    string convertToTitle(int n) {
        string ans;
        while(n){
            n--;
            ans += n%26+'A';
            n/=26;
        }
        return {ans.rbegin(),ans.rend()};
    }
};
  1. 时间复杂度 : O ( l o g n ) O(logn) O(logn) n n n 是数字大小,进制转换的时间复杂度 O ( l o g 26 n ) O(log_{26}n) O(log26n) ,忽略常数时间复杂度 O ( l o g n ) O(logn) O(logn)
  2. 空间复杂度 : O ( 1 ) O(1) O(1) , 除答案使用的空间外,只使用常量级空间 。

AC

AC

致语

  • 理解思路很重要!
  • 欢迎读者在评论区留言,墨染看到就会回复的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/101272.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker:Nacos的持久化和集群部署

目录 一、MySQL容器构建 二、单节点nacos容器外网部署 三、内网nacos多节点集群部署 四、外网Nginx负载内网nacos节点集群 一、MySQL容器构建 由于我们今天要启动的服务比较多,考虑到部分电脑可能会出现带不动的情况,我们可以先将之前的文件备份一下…

【教程】Anaconda安装

零、Anaconda介绍 Anaconda个人版是一个免费、易于安装的包管理器、环境管理器和Python发行版(所以装了Anaconda就可以不用再另外装Python了),有提供非常多的开源包,用Anaconda来安装这些开源包相对来说方便一些,Anac…

jdk下载与安装教程(win10)

JAVA下载地址:Java Downloads 下载后直接点击安装程序,点击【运行】。 安装过程很简单,一直点击下一步就可以了。 安装完成后配置: 一、右键点击桌面【此电脑】,选择【属性】。 二、选择【高级系统设置】。 三、点击…

Git学习笔记-1.Git基础知识

Git 食用方法 1.简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 相信很多同学抄作业写作业的时候多多少少都见过git clone xxx这样的命令,这也算与Git结识的一个奇怪方式? 值得一提的是,Gi…

【树莓派不吃灰】兄弟连篇③ 用户和用户组、权限管理、文件系统管理

目录1、用户和用户组1.1 用户配置文件1.1.1 /etc/passwd1.1.2 /etc/shadow1.1.3 /etc/group、/etc/gshadow1.2 用户管理相关文件1.3 用户管理命令1.3.1 useradd1.3.2 passwd1.3.3 usermod1.3.4 chage1.3.5 userdel1.3.6 su1.4 用户组管理命令2、权限管理2.1 ACL权限2.1.1 ACL权…

华为数字化转型之道 实践篇 第八章 数字化交易:让做生意简单、高效

第八章 数字化交易:让做生意简单、高效 交易流对于大多数To B企业而言都是核心业务流之一。交易流既包括信息流,它即关乎客户的满意度,又直接影响企业经营业绩的好坏。 To C场景的挑战在于简单的事情如何在短时间内做亿万遍。而To B场景与此恰恰相反,交易的数量没那么多,…

go语言并发编程(中)

go语言并发编程中并发安全和锁互斥锁Mutex读写锁信号量&条件变量单例模式&time包方法协程池并发安全和锁 互斥锁Mutex 有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞…

夹抱式伸缩货叉料箱多层穿梭车立体库|海格里斯HEGERLS高速穿梭车按需定制

近年来,随着互联网的不断普及,电子商务迅速发展起来,客户订单商品呈现出品种多、批量少、交货期短的特点,使得供货商物流配送中心货架存储密集度不断提升,物料出入库频率越来越高,小件拆零拣选量与日俱增&a…

m基于5G毫米波场景Salen-Valenzula信道建模与matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 随着通信技术的不断发展,现有的通信系统已经无法满足人们各个方面的需求,为了解决这个问题,5G通信技术应运而生。5G技术拥有更高的通信传输速率,更…

如何实现一套优雅的Baas查询语言?

Baas平台内,同一区块链底层接口数据可能会被应用在不同的业务场景下,因此需要进行筛选或者排序等操作。为满足此类需求,通常后端需要开发新的接口或增加新的字段以满足业务诉求。但随着需求业务不断变更,往往不可避免地导致接口的…

Activiti初识

以前 在没有工作流引擎的时候,要实现流程控制,我们需要在数据库中定义表,然后采用状态字段去跟踪流程的变化:比如是否到下一个流程; 然后到下一个角色执行的时候,我们需要判断用户是否具有审批的权限&…

HFSS使用经验

目录 一、如何找到Project工程变量 二、coverlines是什么东西 三、参数建模的第一步 四、让HFSS模型居中的快捷键CtrlD 五、关于介质颜色的修改 六、如何在HFSS中添加变量 七、如何绘制微带线 八、如何绘制带缺口的微带线谐振腔 九、如何设置激励源 十、HFSS如何镜像…

关于一致性问题的简单总结

一、场景引入 在随着人类的发展过程,由于人类是一群人,而非单个人,并相互联系,为了基本的生存或更美好的精神追求,出现了分工协作(单个人无法完成)的概念。人性是具有追求极致、美化的特性&…

【SQL】字符串处理函数

文章目录修复表中的名字left(string, count)substr(string, pos, len)按日期分组销售产品group_concat患某种疾病的患者修复表中的名字 将name的首字母大写,其余字母小写 select user_id, concat(upper(left(name, 1)), lower(substr(name, 2))) as name from User…

【Python机器学习】神经网络中全连接层与线性回归的讲解及实战(Tensorflow、MindSpore平台 附源码)

需要全部代码请点赞关注收藏后评论区留言私信~~~ 全连接层与线性回归 神经网络模型也是参数学习模型,因为对它的学习只是得到神经网络参数的最优值,而神经网络的结构必须事先设计好。如果确实不能通过改进学习过程来达到理想效果,则要重新设…

linux基础学习-用户权限相关命令

用户权限相关命令 用户和权限的基本概念 基本概念 用户是linux系统工作中的重要的一环,用户管理包括 用户 和 组 管理在linux系统下,不论是由本机还是远程登录系统,每个系统都必须有一个账号,并且对于不同的系统资源拥有不同的使用…

银河系中心黑洞的首张照片

说到黑洞,那就不得不提起我们的家园银河系中心的大黑洞,在今天这张照片出来之前,所有关于银河系黑洞的描述都是推测、理论,而今天成为了现实! 2019年,同一团队拍摄了梅西耶87星系(M87&#xff0…

文本分类优化方法

文本分类优化方法 文本分类是NLP的基础工作之一,也是文本机器学习中最常见的监督学习任务之一,情感分类,新闻分类,相似度判断、问答匹配、意图识别、推断等等领域都使用到了文本分类的相关知识或技术。文本分类技术在机器学习的发…

用 Markdown 快速生成漂亮的 Latex 伪代码

参考:在 Markdown 中书写伪代码 文章目录配置 VSCode编写 Latex 源码生成 pseudocode配置 VSCode 组合: VSCode Markdown Preview Enhanced pseudocode.js 安装好 VSCode 和 Markdown Preview Enhanced 插件 按下快捷键 Ctrl Shift P,打…

定时器/计数器的基本概念

80C51单片机中有两个计数器,即T0和T1。 单片机内有一个定时器/计数器T0,可以用编程的方法将它设为计数器。当用作计数器时,它是一个16位计数器,它的最大计数值为65536。 定时器/计数器T0和T1分别是由TH0、TL0和TH1、TL1两个8位计数…