1. 程式人生 > >LeetCode刷題之171Python Excel表列序號

LeetCode刷題之171Python Excel表列序號

題目:

給定一個Excel表格中的列名稱,返回其相應的列序號。

例如,

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

示例 1:

輸入: "A"
輸出: 1

示例 2:

輸入: "AB"
輸出: 28

示例 3:

輸入: "ZY"
輸出: 701

參考解答:

與第168題是反過來的。

class Solution(object):
    def titleToNumber(self, s):
        """
        :type s: str
        :rtype: int
        
        """
        result = 0 
        for letter in s:
            result = result * 26 + ord(letter) - ord('A') + 1#轉換之後把大寫字母對應的數字轉化為小寫字母。
        return result

ord() 函式是 chr() 函式(對於8位的ASCII字串)或 unichr() 函式(對於Unicode物件)的配對函式,它以一個字元(長度為1的字串)作為引數,返回對應的 ASCII 數值,或者 Unicode 數值,如果所給的 Unicode 字元超出了你的 Python 定義範圍,則會引發一個 TypeError 的異常。

相關推薦

LeetCode171Python Excel序號

題目: 給定一個Excel表格中的列名稱,返回其相應的列序號。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28

C#LeetCode#168-Excel名稱(Excel Sheet Column Title)

問題 給定一個正整數,返回它在 Excel 表中相對應的列名稱。 例如,     1 -> A     2 -> B     3 -> C     ...     26 -&g

LeetCode演算法171:Excel序號解析

給定一個Excel表格中的列名稱,返回其相應的列序號。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例1

演算法5:Excel序號(python3實現)

給定一個Excel表格中的列名稱,返回其相應的列序號。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1:

leetcode庫——Excel序號

題目描述: 給定一個Excel表格中的列名稱,返回其相應的列序號。 例如,     A -> 1     B -> 2     C -> 3 &nb

#leetcode路25- k個一組翻轉鏈

而是 The 總數 while循環 main 繼續 nullptr 之前 node 給出一個鏈表,每 k 個節點一組進行翻轉,並返回翻轉後的鏈表。k 是一個正整數,它的值小於或等於鏈表的長度。如果節點總數不是 k 的整數倍,那麽將最後剩余節點保持原有順序。 示例 :給定這

leetcode 路 68 Gas Station

rom 說明 之路 bsp margin tom otto mono lee There are N gas stations along a circular route, where the amount of gas at station i is gas[i]

leetcode 字符串反轉

solution arr reverse eof HA rev code toc val 請編寫一個函數,其功能是將輸入的字符串反轉過來。 示例: 輸入:s = "hello" 返回:"olleh" 註:這裏之所以不使用倒敘遍歷strs,是因為字符串拼接的效率很低,str+

leetcode 算法 Excel序號 python實現

技術 += rev let class excel表 sum span turn 這道題給我感覺就像一個26進制數一樣。 A 就是1 B是2 。。。。 Z 是26 如果AB 兩位,那就是 1 * 26 + 2 就是A 的數值*26 + B的數值 如果是MNP 三

C#LeetCode#374-猜數字大小(Guess Number Higher or Lower)

問題 我們正在玩一個猜數字遊戲。 遊戲規則如下: 我從 1 到 n 選擇一個數字。 你需要猜我選擇了哪個數字。 每次你猜錯了,我會告訴你這個數字是大了還是小了。 你呼叫一個預先定義好的介面 guess(int num),它會返回 3 個可能的結果(-1,1 或 0): -1 :

C#LeetCode#704-二分查詢(Binary Search)

問題 給定一個 n 個元素有序的(升序)整型陣列 nums 和一個目標值 target  ,寫一個函式搜尋 nums 中的 target,如果目標值存在返回下標,否則返回 -1。 輸入: nums = [-1,0,3,5,9,12], target = 9 輸出:

C#LeetCode#278-第一個錯誤的版本(First Bad Version)

問題 你是產品經理,目前正在帶領一個團隊開發新的產品。不幸的是,你的產品的最新版本沒有通過質量檢測。由於每個版本都是基於之前的版本開發的,所以錯誤的版本之後的所有版本都是錯的。 假設你有 n 個版本 [1, 2, ..., n],你想找出導致之後所有版本出錯的第一個錯誤的版本。 你可

C#LeetCode#824-山羊拉丁文(Goat Latin)

問題 給定一個由空格分割單詞的句子 S。每個單詞只包含大寫或小寫字母。 我們要將句子轉換為 “Goat Latin”(一種類似於 豬拉丁文 - Pig Latin 的虛構語言)。 山羊拉丁文的規則如下: 如果單詞以母音開頭(a, e, i, o, u),在單詞後新增"ma"。 例

C#LeetCode#819-最常見的單詞(Most Common Word)

問題 給定一個段落 (paragraph) 和一個禁用單詞列表 (banned)。返回出現次數最多,同時不在禁用列表中的單詞。題目保證至少有一個詞不在禁用列表中,而且答案唯一。 禁用列表中的單詞用小寫字母表示,不含標點符號。段落中的單詞不區分大小寫。答案都是小寫字母。 輸入:

C#LeetCode#788-旋轉數字(Rotated Digits)

問題 我們稱一個數 X 為好數, 如果它的每位數字逐個地被旋轉 180 度後,我們仍可以得到一個有效的,且和 X 不同的數。要求每位數字都要被旋轉。 如果一個數的每位數字被旋轉以後仍然還是一個數字, 則這個數是有效的。0, 1, 和 8 被旋轉後仍然是它們自己;2 和 5 可以互相旋轉成

C#LeetCode#709-轉換成小寫字母(To Lower Case)

問題 實現函式 ToLowerCase(),該函式接收一個字串引數 str,並將該字串中的大寫字母轉換成小寫字母,之後返回新的字串。 輸入: "Hello" 輸出: "hello" 輸入: "here" 輸出: "here" 輸入:

C#LeetCode#686-重複疊加字串匹配(Repeated String Match)

問題 給定兩個字串 A 和 B, 尋找重複疊加字串A的最小次數,使得字串B成為疊加後的字串A的子串,如果不存在則返回 -1。 舉個例子,A = "abcd",B = "cdabcdab"。 答案為 3, 因為 A 重複疊加三遍後為 “abcdabcdabcd”,此時 B 是其子串;A

C#LeetCode#680-驗證迴文字串 Ⅱ(Valid Palindrome II)

問題 給定一個非空字串 s,最多刪除一個字元。判斷是否能成為迴文字串。 輸入: "aba" 輸出: True 輸入: "abca" 輸出: True 解釋: 你可以刪除c字元。 注意:字串只包含從 a-z 的小寫字母。字串的最大長度是

C#LeetCode#657-機器人能否返回原點(Robot Return to Origin)

問題 在二維平面上,有一個機器人從原點 (0, 0) 開始。給出它的移動順序,判斷這個機器人在完成移動後是否在 (0, 0) 處結束。 移動順序由字串表示。字元 move[i] 表示其第 i 次移動。機器人的有效動作有 R(右),L(左),U(上)和 D(下)。如果機器人在完成所有動作後

C#LeetCode#557-反轉字串中的單詞 III(Reverse Words in a String III)

問題 給定一個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。 輸入: "Let's take LeetCode contest" 輸出: "s'teL ekat edoCteeL tsetnoc"  注意:在字串中,每個單詞由