作者Rushia (みけねこ的鼻屎)
看板Marginalman
標題Re: [閒聊] 每日LeetCode
時間Tue Aug 22 22:37:51 2023
https://leetcode.com/problems/excel-sheet-column-title/
168. Excel Sheet Column Title
給你一個數字,將他轉換成 Excel 字母表示的列。
Example 1:
Input: columnNumber = 1
Output: "A"
Example 2:
Input: columnNumber = 28
Output: "AB"
Example 3:
Input: columnNumber = 701
Output: "ZY"
思路:
1.此題就是在求把一個整數轉成一個26進位的映射,因為 x % 26 = [0-25]
但是題目要的是 [1-26] 對應 [A-Z] ,為了讓 [0-25] 可以對應所以每次
我們都先把 columnNumber 減一。
2.剩下的就是用短除法進位轉換取餘數並把結果倒著輸出即可。
Java Code:
-----------------------------------------------
class Solution {
public String convertToTitle(int columnNumber) {
StringBuilder sb = new StringBuilder();
while (columnNumber > 0) {
columnNumber--;
sb.append((char)('A' + columnNumber % 26));
columnNumber = columnNumber / 26;
}
return sb.reverse().toString();
}
}
-----------------------------------------------
--
https://i.imgur.com/uiFto42.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.73.13 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1692715075.A.42B.html
推 devilkool: 大師 08/22 22:38
→ a9486l: 大師 08/22 22:38
→ r10521512: 這是easy嗎 08/22 22:38
推 Che31128: 是easy 大師 08/22 22:40
推 sustainer123: 大師 08/22 22:41
推 nozomizo: 每次loop減一是精隨== 08/22 23:40