2024.09.22 leetcode 每日一题

server/2024/9/23 21:14:44/
  1. Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

https://leetcode.cn/problems/excel-sheet-column-title/description/

我的解法:

class Solution {
public:string convertToTitle(int columnNumber) {std::map<int, char> c2n;for (int i = 1; i <= 26; i++) {c2n[i] = 'A'+ (i-1);}std::string result;if(columnNumber<=26){result = c2n[columnNumber];}else{while(columnNumber != 0){int c = columnNumber % 26;  //找到余数if(c==0) //整除的情况下,加Z{result += 'Z';columnNumber = columnNumber / 26 -1;}else{result += c2n[c];  columnNumber = columnNumber / 26;  //26进制下的更高一位}}}string rresult(result.rbegin(),result.rend()); //注意使用上面的方法需要反转字符串才行,解法二有改进return rresult;}
};

另一种解法:这种解法不用考虑构造对应关系,直接利用了ASCII表进行映射,而且对于字符串的拼接使用的方法也可以学习,减少了字符串反转的问题

#include <iostream>
#include <string>
#include <map>class Solution {
public:std::string convertToTitle(int columnNumber) {std::string result;while (columnNumber > 0) {int remainder = (columnNumber - 1) % 26;result = char('A' + remainder) + result;columnNumber = (columnNumber - 1) / 26;}return result;}
};

还可以参考下官方的解答
https://leetcode.cn/problems/excel-sheet-column-title/solutions/849363/excelbiao-lie-ming-cheng-by-leetcode-sol-hgj4/


http://www.ppmy.cn/server/120995.html

相关文章

WPF 的TreeView的TreeViewItem下动态生成TreeViewItem

树形结构仅部分需要动态生成TreeViewItem的可以参考本文。 xaml页面 <TreeView MinWidth"220" ><TreeViewItem Header"功能列表" ItemsSource"{Binding Functions}"><TreeViewItem.ItemTemplate><HierarchicalDataTempla…

【数学分析笔记】第3章第2节 连续函数(5)

3. 函数极限与连续函数 3.2 连续函数 3.2.10 复合函数的连续性 【例3.2.11】证明&#xff1a;对任意实数 α \alpha α&#xff0c; f ( x ) x α f(x)x^{\alpha} f(x)xα在 ( 0 , ∞ ) (0,\infty) (0,∞)上连续。 【证】 f ( x ) x α e α ln ⁡ x f(x)x^{\alpha}e^{\…

Elasticsearch——介绍、安装与初步使用

目录 1.初识 Elasticsearch1.1.了解 ES1.1.1.Elasticsearch 的作用1.1.2.ELK技术栈1.1.3.Elasticsearch 和 Lucene1.1.4.为什么不是其他搜索技术&#xff1f;1.1.5.总结 1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引1.2.3.正向和倒排 1.3.Elasticsearch 的一些概念1.3.1.文档和字…

【网络安全】网络基础第一阶段——第二节:网络协议基础---- 路由和ARP协议

本篇文章我们来介绍IP路由的基本概念&#xff0c;包括路由的原理、静态路由和动态路由的配置与特点。 目录 一、路由 1.1 IP路由原理、静态路由及动态路由区分 1.1.1 什么是路由 1.1.2 路由的原理 1.1.2 路由表 1.1.3 静态路由与动态路由 1.2 路由原理详解 1.2.1 路由的…

新产品,推出 MLX90372GVS 第三代 Triaxis® 位置传感器 IC,适用于汽车和工业系统(MLX90372GVS-ACE-308)

Triaxis 旋转和线性位置传感器IC&#xff1a; MLX90372GVS-ACE-103 MLX90372GVS-ACE-108 MLX90372GVS-ACE-301 MLX90372GVS-ACE-200 MLX90372GVS-ACE-208 MLX90372GVS-ACE-303 MLX90372GVS-ACE-300 MLX90372GVS-ACE-350 MLX90372GVS-ACE-100 MLX90372GVS-ACE-101 MLX90372GVS-…

微服务实战系列之玩转Docker(十五)

前言 博主的玩转Docker系列&#xff0c;今天正式开启第十五篇的征程&#xff01; 在过去的十四篇中&#xff0c;涉及的内容有知识、有原理、有工具、更有实践。当你打开每一篇文章时&#xff0c;均会获得一个特定主题的知识和技巧&#xff0c;助你在云原生的世界里&#xff0c…

数字IC设计\FPGA 职位经典笔试面试整理--基础篇1

注&#xff1a; 资料都是基于网上一些博客分享和自己学习整理而成的 1&#xff1a;什么是同步逻辑和异步逻辑&#xff1f; 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序 逻辑电路的特点&#xff1a;各触发器的时钟端全部连接在一…

桶排序和计数排序(非比较排序算法)

桶排序 桶排序是一种基于分配的排序算法&#xff0c;特别适合用来排序均匀分布的数据。它的基本思想是将输入的数据分到有限数量的桶里&#xff0c;然后对每个桶内的数据分别进行排序&#xff0c;最后再将各个桶内的数据合并得到最终的排序结果。(通常用于浮点数&#xff0c;因…