leetcode 之Excel Sheet Column Title
来源:互联网 发布:优化方案系列丛书答案 编辑:程序博客网 时间:2024/06/08 02:46
Total Accepted: 9173 Total Submissions: 52899
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
这是第一次想出来的方案
只是马上就想出来 就写了。结果发现有很多不严谨的地方,然后又仔细考虑了一下这个题
public static String convertToTitle(int n) {char[] Map = { ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z' };String result = "";while (n >= 26) {result += 'Z';n -= 26;}if (n > 0) {result += Map[n];}return result;}
分析思路:
这道题和转进制有一点不同,因为他没有0,而且是27进制的没有0的一个计数法则。
比如26是Z。27就是AA。
所以尾数的是n%27为下标的Map值。
倒数第二位是有几个26为下标但是有一个就不算,比如27是有一个26加一个1,就是AA。
但是如果是52呢,就是有两个26,但正确答案应该是AZ,所以我的处理办法是先让n-1再除
最后成功Accepted
import java.util.Arrays;public class Main {public static void main(String[] args) {System.out.println(convertToTitle(26));System.out.println(convertToTitle(27));System.out.println(convertToTitle(52));System.out.println(convertToTitle(701));System.out.println(convertToTitle(703));}public static String convertToTitle(int n) {char[] Map = { 'Z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V','W', 'X', 'Y', 'Z' };int tail = n % 26;String result = "" + Map[tail];int num = (n - 1) / 26;while (num > 0) {result = Map[num % 26] + result;num =(num-1)/ 26;}return result;}}
0 0
- leetcode 之Excel Sheet Column Title
- LeetCode OJ 之 Excel Sheet Column Title
- leetcode之Excel Sheet Column Title
- LeetCode之Excel Sheet Column Title
- Leetcode: Excel Sheet Column Title
- [LeetCode]Excel Sheet Column Title
- leetcode:Excel Sheet Column Title
- [LeetCode]Excel Sheet Column Title
- [LeetCode] Excel Sheet Column Title
- [leetcode]Excel Sheet Column Title
- LeetCode--Excel Sheet Column Title
- Leetcode: Excel Sheet Column Title
- 【Leetcode】Excel Sheet Column Title
- [LeetCode] Excel Sheet Column Title
- 【Leetcode】Excel sheet Column title
- LeetCode:《Excel Sheet Column Title》
- leetcode-excel sheet column title
- LeetCode--Excel Sheet Column Title
- Codeforces Round #284 (Div. 2) C. Crazy Town
- rman 连接本地或者远程数据库方法
- 图片拼接 群组聊天头像设置(田字型 品字型)
- Apache Shiro 退出
- 49-UIWindow原理
- leetcode 之Excel Sheet Column Title
- 50-main.storyboard底层,通过storyboard创建控制器
- 右键添加打开终端的命令
- 用EhCache缓存Shiro的本地会话,当用户没有安全退出就直接关闭浏览器,会话可能在缓存里孤立的问题。
- C#反射实例化类并调用带参数的方法
- 51-ViewController的view的创建,使用init或initWithNibName方法加载xib的底层实现(图解)
- 苗条的生长树slim span,uva1395——最小生成树,kruskal
- 黑马程序员-⑧bolck类型和协议protocol的用法
- javascript中screenXY、clientXY、pageXY和offsetXY的区别