LeetCode 168. Excel Sheet Column Title 解题报告
来源:互联网 发布:iphone的照片传到mac 编辑:程序博客网 时间:2024/06/14 06:33
题目描述:
168. 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”的基础上逐渐累加,然后得到结果。(如代码1)但是这种方法效率极低,在n特别大的时候会超时。发现效率太低之后,我尝试使用计算方法,而不是逐个累加。首先令tag标记为26,如果26*27>=n>26,则结果中字符串长度即为2,以后的情况类似。
通过这种方法首先确定了结果中字符串的长度,之后再将tag逐渐递减,对应相应字符的变化,当n等于0时即得到结果。(正确解法见代码2)
代码展示:
<pre name="code" class="cpp">class Solution {public://代码一// Time Limit Exceedstring convertToTitle(int n) { string ans ="A"; int ssize = ans.size(); for(int i=1;i<n;i++) { int t = ssize-1; while(ans[t]=='Z') { t--; } if(t==-1) { for(int i=0;i<ans.size();i++) { ans[i]='A'; } ans = 'A'+ans; ssize+=1; } else { ans[t]=char(ans[t]+1); for(int i=t+1;i<ssize;i++) ans[i]='A'; } //cout<<ans<<endl; } return ans;}};
<pre name="code" class="cpp">class Solution {public://代码二//acceptedstring convertToTitle(int n) { long long tag =26; string ans ="A"; while(n-tag>0) { n-=tag; tag*=26; ans+="A"; } int num_pow =1; while(n>0) { while(n-tag/pow(26,num_pow)>0) { ans[num_pow-1]=char(ans[num_pow-1]+1); n-=tag/pow(26,num_pow); //cout<<n<<" "<<ans<<endl;}num_pow++;} return ans;}};
0 0
- LeetCode-Excel Sheet Column Title-解题报告
- [leetcode] 168. Excel Sheet Column Title 解题报告
- LeetCode 168. Excel Sheet Column Title 解题报告
- [Leetcode] 168. Excel Sheet Column Title 解题报告
- LeetCode-Excel Sheet Column Number-解题报告
- 【LeetCode】Excel Sheet Column Number 解题报告
- 【LeetCode】Excel Sheet Column Number 解题报告
- [LeetCode]168.Excel Sheet Column Title
- 168. Excel Sheet Column Title Leetcode Python
- LeetCode 168. Excel Sheet Column Title
- 【LeetCode】168.Excel Sheet Column Title
- [leetcode] 168.Excel Sheet Column Title
- [LeetCode]168. Excel Sheet Column Title
- 168. Excel Sheet Column Title LeetCode
- leetcode 168. Excel Sheet Column Title
- Leetcode: 168. Excel Sheet Column Title(JAVA)
- LeetCode *** 168. Excel Sheet Column Title
- leetcode-168. Excel Sheet Column Title
- 死锁实例
- 生产者消费者实例
- java中数组定义String a[]和String[] a有什么区别?
- git
- 高德地图设置中心点和缩放比例
- LeetCode 168. Excel Sheet Column Title 解题报告
- oracle 数据库的管理工具 PL/SQL_Developer 的简易使用 与Java 连接并查询显示出数据
- Dictionary+NilSafe Category
- interface和abstract的区别
- 腾讯笔试--前端
- Linux awk/sed
- 经典Web安全缺陷 Web Security Bug
- JS根据值选择select选项
- Electron 快速入门