首页 > 其他 > 详细

进制问题

时间:2016-04-07 22:16:01      阅读:364      评论:0      收藏:0      [点我收藏+]

leetCode上有这么一道题

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 

分析之后可知是一道进制转换的问题,分析的时候偶然间想到digital root的问题,digital root有统一的表达式,是一个9进制问题的转换,如下:

  • dr(n) = 1 + (n - 1) % 9

而此题呢,也很类似,因为字符从A到Z分别代表1到26时,就是26进制,但是没有0,所以我们也可以将数字减1处理,像是错位一般,一切秩序便井然有序了:

 1 public class Solution {
 2     public String convertToTitle(int n) {
 3         int remainder = 0;
 4         String result = "";
 5         while(n!= 0){
 6             remainder = (n - 1) % 26;
 7             n = (n - 1) / 26;
 8             result = (char)(‘A‘ + remainder) + result;
 9         }
10         return result;
11     }
12 }

进制问题

原文:http://www.cnblogs.com/vin-yuan/p/5365699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!