【LeetCode】168. Excel表列名称

news2024/10/6 16:17:04

168. Excel表列名称(简单)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路

  • 显然,这是一道从 1 开始的的 26 进制转换题。

  • 对于一般性的进制转换题目,只需要不断地对 columnNumber 进行 % 运算取得最后一位,然后对 columnNumber 进行 / 算,将已经取得的位数去掉,直到columnNumber 为 0 即可。

  • 一般性的进制转换题目无须进行额外操作,是因为我们是在「每一位数值范围在 [0,)的前提下进行 逢 a 进一」,比如二进制每一位数值范围为[0, 2)

  • 但本题从1 开始,因此在执行「进制转换」操作前,我们需要先对columnNumber 执行减一操作,从而实现整体偏移,使得数值范围回到 [0, 26) ,这样才和一般的进制转换题目相同。

代码

class Solution {
public:
    string convertToTitle(int columnNumber) {
        string ans;
        char per;
        int a, b;
        while(columnNumber){
            columnNumber --;
            a = columnNumber / 26 ,b = columnNumber % 26;
            ans.push_back('A' + b);
            columnNumber = a;
        }
        reverse(ans.begin(), ans.end());
        return ans;
    }
};

收获

  • 做这道题的时候,一下子就反应过来,是 26 进制的题目,但是没有思考到每一位的数字范围应该在 [0, 26) ,导致计算一直出错;
  • 此外,进制转换类型的题目模板不够熟悉,想了很久;
  • 学习到一个新函数 reverse(ans.begin(), ans.end()); ,可以将答案字符串反转,这个写法比较高级。

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

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

相关文章

【项目源码】基层医院信息化管理系统HIS源码

医院信息系统(HIS)经历了从手工到单机再到局域网的两个阶段,随着云计算、大数据新技术迅猛发展,基于云计算的医院信息系统将逐步取代传统局域网HIS,以适应人们对医疗卫生服务越来越高的要求。 利用云计算、大数据等现代信息技术研…

Windows下安装docker

Windows下安装docker 1.安装WSL2 我的Windows版本如下: 版本 Windows 11 专业版 版本 22H2 1.1 检查能否安装 必要条件: Windows 10 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。对于 ARM64 系统&…

5个值得一试的开源大语言模型

5个值得一试的开源大语言模型 人工智能已经成为我们生活中不可或缺的一部分,而LLM(大型语言模型)处于这一变化的最前沿。 在对话式人工智能方面,大语言模型的性能最为关键。 虽然像 OpenAI 的 GPT-4 这样的商业大语言模型已经引起…

jdk13至15——文本块特性

文本块在jdk13中第一次预览,jdk14第二次预览,jdk15正式版; 终于不用在多行字符串中加一堆\n和一堆\"和一堆了; 之前需要这么麻烦: Testvoid test() {String s "testabcd\n" "aaa\n" "…

【机器学习】贝叶斯分类与概率图模型

文章目录 第五章 贝叶斯分类与概率图模型5.1、贝叶斯决策与贝叶斯分类5.1.1、贝叶斯基本原理5.1.2、朴素贝叶斯分类器(naive bayes)5.1.3、半朴素贝叶斯 5.2、有向图与无向图一般概念5.2.1、有向图5.2.2、无向图5.2.3、条件独立性5.2.4、图模型推理的概念…

海睿思分享 | 浅谈企业数据资产管理

1、什么是数据资产 与实物资产、无形资产一样,数据资产首先表现为是一种资源。也就是说,并非所有的数据资源都可以升级为数据资产。作为“资产”的数据资源,大体表现为以下两种形式:一是可以通过合理应用创造出新的价值。二是通过…

【k8s】Jenkins实现Java springboot应用CI、CD实践 【二】

一、运行Jenkins流水线流程思路: 场景1:常规java应用,使用jenkins pipeline 交付到Kubernetes集群中1、准备好java代码、Dockerfile、 deploy. yaml资源清单文件CI阶段: 1、获取代码 2、漏洞扫描 3、检测漏洞扫描结果,如果正常则…

OpenAI ChatGPT3.5-turbo实际解决问题能力评测

OpenAI ChatGPT3.5-turbo实际解决问题能力评测 ​ 程序员在coding的时候会经常遇到需要查阅资料的情况,最好的结果是直接能拿到一份好用的demo版本code,本次我们来评测:bing搜索和chatGPT3.5,解决实际问题:“html 图片…

【Proteus仿真】51单片机矩阵按键+中断+数码管显示+串口输出

【Proteus仿真】51单片机矩阵按键中断数码管显示串口输出 📌相关篇《【Proteus仿真】51单片机矩阵按键扫描外部中断使用》📍《【Proteus仿真】51单片机串口输出实验》🎈 《【Proteus仿真】51单片机定时器计数共阴数码管驱动显示》 &#x1f5…

PMP-敏捷管理知识总结

敏捷管理 敏捷管理 01敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,在敏捷开发中,项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征 。 敏捷项目管理简化了繁琐的流程和文档管理&…

考研考公太卷了,出国留学能弯道超车吗?

这届年轻人太难了! 国内高考人数越来越多,考上好大学的难度很大。2022年,高考报名人数是1193万,但考上本科的只有466万,考上双一流大学的不足50万,上双一流大学考生的比例不到5%。 高考只是卷的开始&…

软件代码设计-小优化(五)

产品需求: 按照天统计策略信收信人数和收信次数。以前策略信只有发送是没有收集的,现在要数据咋办,得收集啊。 设计方案: 因为策略信的发送是在一个单独的工程里,没有连接数据库。于是收集策略信放到了redis的list里&a…

第03章 流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。 程序设计中规定的三种流程结构,即: 顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。 分支结构 根据条件&#xff0…

软件测试理论----测试设计方法论

1、测试用例格式 (1)用例编号:用例的唯一标识,要求具有易识别性和易维护性,能能够根据用例编号识别用例的目的和作用,一般格式为:A-B-C-D 其中 A:一般表示产品或者项目名称B&#…

Linux的启动流程

文章目录 Linux的启动流程BIOS、boot loader与kernel加载BIOSboot loader加载内核检测硬件与 initramfs 的功能 Linux的启动流程 本文章参考: [Uncertainty!!]的Linux的启动流程 Linux的启动流程是一个非常复杂的过程,下面是对Linux启动流程的详细分析&a…

JDBC-Java与数据库之间的桥梁

1、JDBC 1.1、数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用, 数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数…

IO流详解

IO流 1. 文件 1.1 什么是文件 文件对大家来说都不陌生: 文件是保存数据的地方,它可以保存文字、图片、视频等等例如大家平时使用的word文档、Excel文档、PPT文档等都是文件 1.2 文件流 文件在程序中是以流的形式来操作的流是指数据在数据源&#x…

mydumper - 备份恢复工具

文章目录 介绍部署安装功能 参数详解mydumpermyloader配置文件 实际示例操作性能验证 补充definerlock 总结相关链接 介绍 部署安装 # 当前最新 release wget https://github.com/mydumper/mydumper/releases/download/v0.14.4-8/mydumper-0.14.4-8.el7.x86_64.rpm# 安装 rpm…

Linux 之 firewalld 防火墙

目录 firewalld概述firewalld 与 iptables 的区别:firewalld 区域的概念firewalld防火墙预定义了9个区域:firewalld 数据处理的流程 firewalld防火墙的配置方法:永久保存配置 firewalld概述 firewalld防火墙是Centos7系统默认的防火墙管理工具&#xff…

数据分析与预处理常用的图和代码

1.训练集和测试集统计数据描述之间的差异作图&#xff1a; def diff_color(x):color red if x<0 else (green if x > 0 else black)return fcolor: {color}(train.describe() - test.describe())[features].T.iloc[:,1:].style\.bar(subset[mean, std], alignmid, colo…