题目地址:

https://oj.leetcode.com/problems/excel-sheet-column-title/

题目内容:

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

思路:

乍看一下非常麻烦,不妨从反面入手:知道字母组合,如何求是第几个。

这就比较简单了。

A        B

1 * 26 + 2 = 28

A                     A        Z

1 * 26 * 26  + 1 * 26 + 26 = 728

有点像27进制,但有有决定性的不同:这里没有数字0。因此,直接类比为27进制的话,没有0可供参考;如果类比为26进制的话,实际上26又没有进,还是Z。

其实我们可以参考数制转换的算法,每轮求一次最低位。问题的关键在于如何求最低位。

先对26求模,如果为0就是z,其余和A到Y一一对应,即A=1,B=2...Y=25。

其次,【要减去最低位后再做除法】。因为这并不是真正的26进制,所以,如果最低位是Z的话,直接做除法并不能完全删除Z,还留下了个1。因此,当最低位是Z时,我们要减去26以后,再做除法来消除此低位的权重。

全部代码:

class Solution {
public:
string convertToTitle(int n) {
char res[];
char *dic = "ZABCDEFGHIJKLMNOPQRSTUVWXY";
int start = ;
string tar;
while (n > )
{
if (n % == )
{
res[-- start] = 'Z';
n -= ;
}
else
{
res[-- start] = dic[n % ];
n -= n % ;
}
n /= ;
}
res[] = '\0';
tar = res + start;
return tar;
}
};

【原创】leetCodeOj --- Excel Sheet Column Title 解题报告的更多相关文章

  1. 【LeetCode】168. Excel Sheet Column Title 解题报告(Java & Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 迭代 递归 日期 [LeetCode] 题目地址:https: ...

  2. 【LeetCode】171. Excel Sheet Column Number 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目大意 解题方法 Java解法 Python解法 日期 [LeetCode] 题 ...

  3. LeetCode 171 Excel Sheet Column Number 解题报告

    题目要求 Given a column title as appear in an Excel sheet, return its corresponding column number. For e ...

  4. 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number

    题目描述: Excel Sheet Column Title Given a positive integer, return its corresponding column title as ap ...

  5. 【leetcode】Excel Sheet Column Title

    Excel Sheet Column Title Given a non-zero positive integer, return its corresponding column title as ...

  6. Excel Sheet Column Title & Excel Sheet Column Number

    Excel Sheet Column Title Given a positive integer, return its corresponding column title as appear i ...

  7. 168. Excel Sheet Column Title

    Excel Sheet Column Title Given a positive integer, return its corresponding column title as appear i ...

  8. 2016.5.19——Excel Sheet Column Title

    Excel Sheet Column Title 本题收获: 1.由int型转换为整型(string),如何转化, res = 'A'+(n-1)%26和之前由A-z转化为十进制相反,res = s[ ...

  9. Leetcode Excel Sheet Column Number (C++) && Excel Sheet Column Title ( Python)

    Given a column title as appear in an Excel sheet, return its corresponding column number. For exampl ...

随机推荐

  1. lightoj 1179(线段树)

    传送门:Josephus Problem 题意:经典约瑟夫问题,有n个人,每次数到第k个人出列,求剩下的最后一人. 分析:用线段树模拟约瑟夫问题,记录区间的减少情况,然后根据每次数到的人在区间排第几位 ...

  2. JEECG开源团队招募新成员 2014年

    JEECG开源团队招募新成员 2014年 截止日期:2014-06-01        JEECG开源项目 是一款基于代码生成器的微云高速开发平台.提供企业高速开发和採用微信实现移动应用的解决方式.J ...

  3. NavigationBar 隐藏底部边线,阴影

    NavigationBar 底部默认有一条边线  假设项目中须要隐藏何以採用这个库 https://github.com/samwize/UINavigationBar-Addition/

  4. acdream 1222 Quantization Problem [dp]

    称号:acdream 1222 Quantization Problem 题意:给出一个序列 a ,然后给出一个 n * m 的矩阵,让你从这个矩阵中选出一个序列k,使得sum(abs(ki - ai ...

  5. oschina Web应用开发

    Web应用开发 SPDY开发包(13) HTML5开发相关(105) Pjax相关项目(4) 网站API(93) REST/RESTful项目(72) 响应式 Web 框架(27) 微信相关软件(63 ...

  6. FZU2176(二维线段树+dfs)

    传送门:easy problem 题意:给定一棵n个节点以1为根的树,初始每个节点的值为0,现在我们要在树上进行一些操作,操作有两种类型. 1 x val 表示对以x为根的子树的每个点进行加权操作(我 ...

  7. POJ 1088 滑雪 记忆化优化题解

    本题有人写是DP,只是和DP还是有点区别的,应该主要是记忆化 Momoization 算法. 思路就是递归,然后在递归的过程把计算的结果记录起来,以便后面使用. 非常经典的搜索题目,这样的方法非常多题 ...

  8. 高晓松脱口秀--晓说(第一季&第二季)mp3下载

    晓说 第一季 (1-5) http://pan.baidu.com/share/link?shareid=480859&uk=4043605559 (6-10) http://pan.baid ...

  9. 用XAML做网页!!—广告展示区

    原文:用XAML做网页!!-广告展示区 此次我们来进行广告展示区块的制作. 首先在Show区块中去掉原来设置的背景色,加入新的渐变背景设定: <Grid.Background> <L ...

  10. Java文件压缩分割(待)

    http://blog.csdn.net/ycg01/article/details/1366648