Leetcode 171 Excel Sheet Column Number
Given a string columnTitle that represents the column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 …
Input: columnTitle = "A"
Output: 1
Input: columnTitle = "ZY"
Output: 701
Input: columnTitle = "FXSHRXW"
Output: 2147483647
- Soruda bize verilen excelde kullanılan harflerin sayısal karşılıklarını bulmamız isteniyor.
- ZA verildiğini düşünelim.
- İlk olarak Z nin sayısal karşılığını bulmamız lazım bunu ord(Z) - ord(A) + 1 şeklinde bulabiliriz.
- Daha sonra basamağına göre çarpılarak toplam elde edilir.
def titleToNumber(self, columnTitle: str) -> int:
total = 0
for ch in columnTitle: #ZY verilen harfler olsun.
current = ord(ch) - 65 + 1 #Z nin sayısal karşılığı bulunur. Z=26
total = total * 26 + current # Burada da basamağına göre Z karşılığı çarpılarak eklenir.
return total