168. Excel Sheet Column Title

LeetCode easy оригинал: C# #backtracking #csharp #easy #leetcode #string

Дано целое число columnNumber, верните соответствующий заголовок столбца, как он отображается в таблице Excel.

Например:

A -> 1

B -> 2

C -> 3

Z -> 26

AA -> 27

AB -> 28

Пример:

Input: columnNumber = 1

Output: "A"

C# решение

сопоставлено/оригинал
public class Solution {
    public string ConvertToTitle(int columnNumber) {
        string ans = "";
        while (columnNumber > 0) {
            columnNumber--;
            ans = ((char)((columnNumber) % 26 + 'A')) + ans;
            columnNumber = (columnNumber) / 26;
        }
        return ans;
    }
}

C++ решение

auto-draft, проверить перед отправкой
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public string ConvertToTitle(int columnNumber) {
        string ans = "";
        while (columnNumber > 0) {
            columnNumber--;
            ans = ((char)((columnNumber) % 26 + 'A')) + ans;
            columnNumber = (columnNumber) / 26;
        }
        return ans;
    }
}

Java решение

сопоставлено/оригинал
class Solution {
    public String convertToTitle(int columnNumber) {
        StringBuilder ans = new StringBuilder();

        while (columnNumber > 0) {
            columnNumber--;
            ans.append((char) (((columnNumber) % 26) + 'A'));
            columnNumber = (columnNumber) / 26;
        }
        return ans.reverse().toString();
    }
}

JavaScript решение

сопоставлено/оригинал
var convertToTitle = function (columnNumber) {
    let ans = "";

    while (columnNumber > 0) {
        columnNumber--;
        ans =
            String.fromCharCode((columnNumber % 26) + "A".charCodeAt(0)) + ans;
        columnNumber = Math.floor(columnNumber / 26);
    }

    return ans;
};

Python решение

сопоставлено/оригинал
class Solution:
    def convertToTitle(self, columnNumber: int) -> str:
        ans = ""
        while columnNumber > 0:
            columnNumber -= 1
            
            ans += chr(columnNumber % 26 + ord("A"))
            columnNumber //= 26
        return ans[::-1]

Go решение

сопоставлено/оригинал
func convertToTitle(columnNumber int) string {
    ans := ""
    for columnNumber > 0 {
        columnNumber = columnNumber - 1
        ans = string(rune((columnNumber)%26+'A')) + ans
        columnNumber = (columnNumber) / 26
    }

    return ans
}

Algorithm

1️⃣

Инициализация пустой строки ans:

Создайте пустую строку ans, которая будет хранить заголовок столбца.

2️⃣

Циклическое преобразование числа в буквы:

Пока columnNumber больше 0, выполняйте следующие действия:

Вычтите 1 из columnNumber для корректировки индекса (Excel использует 1-индексацию).

Найдите символ, соответствующий остатку от деления columnNumber на 26, и добавьте его в начало строки ans.

Присвойте columnNumber значение от деления columnNumber на 26

3️⃣

Переворот и возврат результата:

Так как символы добавляются в начало строки, то по завершению цикла строка ans содержит заголовок столбца в обратном порядке. Переверните строку ans, чтобы представить её в правильном порядке.

Верните полученный заголовок столбца.

😎

Вакансии для этой задачи

Показаны активные вакансии с пересечением по тегам задачи.

Все вакансии
Активных вакансий пока нет.