Nome da coluna da tabela do Excel

1. Exigir

  • Dado um número inteiro positivo, retorne seu nome de coluna correspondente na tabela do Excel.

Por exemplo,

    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB 
    ...

Exemplo 1:

Entrada: 1
 Saída: "A"

Exemplo 2:

Entrada: 28
 Saída: "AB"

Exemplo 3:

Entrada: 701
 Saída: "ZY"

Dois, método de conversão de base

2.1 Análise de pensamento

  1. A ~ Z será comparado a um hexadecimal F. A ~, A ~ é então Z representa um número de 1 a 26, significa que o assunto para converter o número decimal hexadecimal 26 A ~ Z representa, usamos  XI para Representa o i- o bit do sistema de base 26, então:
  2. Expressão geral :,  o intervalo ...... + x_4 * 26 ^ 3 + x_3 * 26 ^ 2 + x_2 * 26 ^ 1 + x_1 * 26 ^ 0 = nneste momento  XIé 1 ~ 26, então x1 é necessário. Se o restante de 26 em ambos os lados da equação não puder obter x1, para resolver este problema, você pode subtrair 1 de ambos os lados do equação ao mesmo tempo, então você obtém ...... + x_4 * 26 ^ 3 + x_3 * 26 ^ 2 + x_2 * 26 ^ 1 + (x_1-1) * 26 ^ 0 = n-1, Desta forma, o intervalo de x1-1 é 0 ~ 25, e o restante de 26 em ambos os lados da equação pode obter x1, ou seja, x1 = (n-1) % 26 + 1;
  3. Da mesma forma, para a conveniência de encontrar x2, divida 26 em ambos os lados da equação ao mesmo tempo para eliminar x 1. Portanto, o método para x2, x3, etc. é repetir 2, 3;

2.2 Implementação do código

class Solution {
    public String convertToTitle(int n) {
        StringBuilder sb = new StringBuilder();
        while(n > 0) {
            n--;
            //这里将'A'看作1
            sb.append((char)(n % 26 + 'A'));
            n = n / 26;
        }
        sb.reverse();
        return sb.toString();
    }
}

2.3 Análise de complexidade

  • A complexidade do tempo consiste em O (log_ {26} N)converter o decimal em 26;
  • A complexidade do espaço é O (1) e o valor de retorno não está incluído no espaço extra;

3. Endereço de aprendizagem

Autor: Windliang

Link: https://leetcode-cn.com/problems/excel-sheet-column-title/solution/xiang-xi-tong-su-de-si-lu-fen-xi-by-windliang-2/

Acho que você gosta

Origin blog.csdn.net/Sruggle/article/details/113698482
Recomendado
Clasificación