问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3850 访问。

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

例如,

1 -> A

    2 -> B

    3 -> C

    ...

    26 -> Z

    27 -> AA

    28 -> AB 

    ...

输入: 1

输出: "A"

输入: 28

输出: "AB"

输入: 701

输出: "ZY"


Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

1 -> A

    2 -> B

    3 -> C

    ...

    26 -> Z

    27 -> AA

    28 -> AB 

    ...

Input: 1

Output: "A"

Input: 28

Output: "AB"

Input: 701

Output: "ZY"


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3850 访问。

public class Program {

    public static void Main(string[] args) {
var n = 701;
var res = ConvertToTitle(n);
Console.WriteLine(res); n = 678;
res = ConvertToTitle2(n);
Console.WriteLine(res); n = 12345;
res = ConvertToTitle3(n);
Console.WriteLine(res); Console.ReadKey();
} private static string ConvertToTitle(int n) {
if(n <= 26) return ((char)(n + 'A' - 1)).ToString();
if(n % 26 == 0) {
return ConvertToTitle(n / 26 - 1) + 'Z';
} else {
return ConvertToTitle(n / 26) + ConvertToTitle(n % 26);
}
} private static string ConvertToTitle2(int n) {
if(n <= 0) return "";
return ConvertToTitle((n - 1) / 26) + (char)((n - 1) % 26 + 'A');
} private static string ConvertToTitle3(int n) {
var res = string.Empty;
while(n > 0) {
var s = (char)((n - 1) % 26 + 'A');
res = s + res;
n = (n - 1) / 26;
}
return res;
} }

以上给出3种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3850 访问。

ZY
ZB
RFU

分析:

显而易见,以上3种算法的时间复杂度均为:  。

C#LeetCode刷题之#168-Excel表列名称(Excel Sheet Column Title)的更多相关文章

  1. [Swift]LeetCode168. Excel表列名称 | Excel Sheet Column Title

    Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...

  2. LeetCode刷题总结-哈希表篇

    本文总结在LeetCode上有关哈希表的算法题,推荐刷题总数为12题.具体考察的知识点如下图: 1.数学问题 题号:149. 直线上最多的点数,难度困难 题号:554. 砖墙,难度中等(最大最小边界问 ...

  3. 力扣(LeetCode)Excel表列名称 个人题解

    给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> ...

  4. leetcode刷题记录——哈希表

    1.两数之和 可以先对数组进行排序,然后使用双指针方法或者二分查找方法.这样做的时间复杂度为 O(NlogN),空间复杂度为 O(1). 用 HashMap 存储数组元素和索引的映射,在访问到 num ...

  5. Excel表列名称(给定一个正整数,返回它在 Excel 表中相对应的列名称。)

    例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A ...

  6. LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22

    171. Excel表列序号 171. Excel Sheet Column Number 题目描述 给定一个 Excel 表格中的列名称,返回其相应的列序号. 每日一算法2019/5/25Day 2 ...

  7. LeetCode 168. Excel表列名称(Excel Sheet Column Title)

    168. Excel表列名称 168. Excel Sheet Column Title 题目描述 给定一个正整数,返回它在 Excel 表中相对应的列名称. LeetCode168. Excel S ...

  8. C#LeetCode刷题-哈希表

    哈希表篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 42.8% 简单 3 无重复字符的最长子串   24.2% 中等 18 四数之和   ...

  9. 【leetcode刷题笔记】Excel Sheet Column Number

    Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...

  10. C#LeetCode刷题-数学

    数学篇 # 题名 刷题 通过率 难度 2 两数相加   29.0% 中等 7 反转整数 C#LeetCode刷题之#7-反转整数(Reverse Integer) 28.6% 简单 8 字符串转整数 ...

随机推荐

  1. SqlServer同义词

    最近在项目中遇到跨库操作具有相同表结构的数据表的问题.(A库中的数据表a和B库中的数据表b,两者表结构相同) 跨库操作中我们一般是为了实现不同数据库中表字段信息,字段状态等实时同步,可能很多人会想到使 ...

  2. Oracle DataGuard主库丢失归档日志后备库的RMAN增量恢复一例

    第一部分  问题描述和环境状态确认 ----1. 问题场景 Oracle DataGuard主库丢失archivelog,如何不重建备库完成同步? 在Oracle DataGuard主从同步过程中可能 ...

  3. 设计模式:memento模式

    目的:在不破坏系统封装性的前提下,记录系统每一步的状态,可以做到状态回退和前进 方法: 定义一个数据类,保存所有相关数据 定义一个管理类,提供保存和恢复的接口 具体操作类调用管理类的保存和恢复接口 例 ...

  4. 回文树(回文自动机)(PAM)

    第一个能看懂的论文:国家集训队2017论文集 这是我第一个自己理解的自动机(AC自动机不懂KMP硬背,SAM看不懂一堆引理定理硬背) 参考文献:2017国家集训队论文集 回文树及其应用 翁文涛 参考博 ...

  5. 题解 洛谷 P3340 【[ZJOI2014]星系调查】

    根据题意,发现题目中的图,其实就是一颗树或者是一颗基环树,每个节点上有一个点对\((x,y)\),每次询问为给定端点,找一条直线到端点间的所有点的距离之和最小. 设这条直线为\(y=kx+b\),根据 ...

  6. Alink漫谈(十三) :在线学习算法FTRL 之 具体实现

    Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 目录 Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 0x00 摘要 0x01 回顾 0x02 在线训练 2.1 预置模型 ...

  7. 源码分析清楚 AbstractQueuedSynchronizer

    本文关注以下几点内容: 深入理解 ReentrantLock 公平锁和非公平锁的区别 深入分析 AbstractQueuedSynchronizer 中的 ConditionObject 深入理解 j ...

  8. 服务质量分析:腾讯会议&腾讯云Elasticsearch玩出了怎样的新操作?

    导语 | 腾讯会议于2019年12月底上线,两个月内日活突破1000万,被广泛应用于疫情防控会议.远程办公.师生远程授课等场景,为疫情期间的复工复产提供了重要的远程沟通工具.上线100天内,腾讯会议快 ...

  9. .NET Core + K8S + Loki 玩转日志聚合

    1. Intro 最近在了解日志聚合系统,正好前几天看到一篇文章<用了日志系统新贵Loki,ELK突然不香了!>,所以就决定动手体验一下.本文就带大家快速了解下Loki,并简单介绍.NET ...

  10. 手写 promies

    简单的 Promies 封装 function Promiss(fn) { this.state = 'pending' //当前状态 this.value = null // 成功执行时得到的数据 ...