1. Demande
- Étant donné un nom de colonne dans un tableau Excel, renvoyez son numéro de colonne correspondant.
Par exemple,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
Exemple 1:
Entrée: "A" Sortie: 1Exemple 2:
Entrée: "AB" Sortie: 28Exemple 3:
Entrée: "ZY" Sortie: 701
Deux, conversion de base
2.1 Analyse de la pensée
- A ~ Z représente 1 ~ 26, parcourir la chaîne, obtenir le caractère courant doit être l'un des A ~ Z, convertir le caractère courant en entier correspondant, ces entiers sont exprimés en base 26, qui peuvent être convertis en base 10 ;
2.2 Implémentation du code
class Solution {
public int titleToNumber(String s) {
int sum = 0;
for(int i = 0; i < s.length(); i++) {
int tmp = s.charAt(i) - 64;
sum = sum * 26 + tmp;
}
return sum;
}
}
2.3 Analyse de complexité
- La complexité temporelle est O (N), la traversée de la chaîne consomme O (N) d'espace supplémentaire;
- La complexité spatiale est O (1);