leetcode 168. Excel表列名称(10进制转26进制)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 168. Excel表列名称(10进制转26进制)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
思路
10進制轉26進制
經過分析,我們不難發現,這是一個26進制和十進制相互轉換的問題。序列A-Z依次對應序列1-26。進制轉換的基本辦法就是“取余法”,換算規則如下:
ABZ = 1262 + 2 * 261 + 2626°= 676 + 52 + 26 = 754
于是,我們就知道該如何設計一個十進制轉換為26進制的算法了。
題解
class Solution {public static void main(String[] args) {Solution solution = new Solution();solution.convertToTitle(1379);}public String convertToTitle(int n) {StringBuilder sb = new StringBuilder();int[] arr = new int[10000];int size = 0;while (n > 0) {int m = n % 26;if (m == 0) m = 26;n = (n - m) / 26;arr[size++] = m;}for (int i = size - 1; i >= 0; i--) {sb.append((char) ('A' + arr[i] - 1));}System.out.println(sb);return sb.toString();} }總結
以上是生活随笔為你收集整理的leetcode 168. Excel表列名称(10进制转26进制)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DevOps运维开发一体化 - 公开课笔
- 下一篇: leetcode 169. 多数元素(不