国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

LeetCode65. Valid Number -- 判斷合法數字

jindong / 2749人閱讀

摘要:描述分析該題的說明比較模糊,所以需要慢慢進行嘗試來弄清楚哪些是合法的數字。代碼去除前后的空格小數點前面不能出現和小數點前面不能出現,并且需要有數字保證后面也有數字符號只能再位和后面一位

描述

Validate if a given string is numeric.

Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true

分析

該題的說明比較模糊,所以需要慢慢進行嘗試來弄清楚哪些是合法的數字。整理了以下規則:

符號只能出現在最前面或者字符e后面一位

" . "只能e的前面,且只能有一個小數點

e最多只能出現一次,且前面必須有數字,后面也必須有數字

所以按照數字、小數點、e和符號這四類列出規則就可以了,記住e后面必須有數字,所以需要增加一個變量numberAftereSeen

代碼
class Solution:
    def isNumber(self, s):
        """
        :type s: str
        :rtype: bool
        """
        # 去除前后的空格
        temp_s = s.strip()
        numberSeen = False
        pointSeen = False
        eSeen = False
        numberAftereSeen = True
        for i in range(len(temp_s)):
            if temp_s[i].isdigit():
                numberSeen = True
                numberAftereSeen = True
            elif temp_s[i] == ".":
                # 小數點前面不能出現e和小數點
                if eSeen or pointSeen:
                    return False
                pointSeen = True
            elif temp_s[i] == "e":
                # e前面不能出現e,并且需要有數字
                if eSeen or not numberSeen:
                    return False
                eSeen = True
                # 保證e后面也有數字
                numberAftereSeen = False
            elif temp_s[i] in ["+", "-"]:
                # 符號只能再0位和e后面一位
                if i != 0 and temp_s[i-1] != "e":
                    return False
            else:
                return False
        return numberSeen and numberAftereSeen

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41922.html

相關文章

  • leetcode65 valid number 正則表達式的運用

    摘要:完整的正則表達式為。代碼如下翻譯如果我們看到數字,就將設為如果看到小數點,則判斷是否已有小數點或是,因為后只能有整數只能遇到一次,如果第一次遇到但是沒有遇到數字,則返回錯誤。 題目要求 Validate if a given string is numeric. Some examples: 0 => true 0.1 => true abc => false 1 a => fa...

    DobbyKim 評論0 收藏0
  • LeetCode 306. Additive Number

    摘要:描述累加數是一個字符串,組成它的數字可以形成累加序列。一個有效的累加序列必須至少包含個數。說明累加序列里的數不會以開頭,所以不會出現或者的情況。示例輸入輸出解釋累加序列為。 LeetCode 306. Additive Number Description Additive number is a string whose digits can form additive sequen...

    GeekQiaQia 評論0 收藏0
  • leetcode306. Additive Number

    摘要:為了減少無效遍歷,我們可以在尋找第一個數字和第二個數字的時候及時終止。我們可以知道第一個數字的長度不應該超過字符串長度的一般,第二個數字的長度無法超過字符串長度減去第一個數字的長度。因此一旦遇到,在判斷完作為加數時是否合法后,直接跳出循環。 題目要求 Additive number is a string whose digits can form additive sequence....

    2shou 評論0 收藏0
  • leetcode36 Valid Sudoku 查看數獨是否合法

    摘要:如果重復則不合法,否則極為合法。在這里我們使用數組代替作為存儲行列和小正方形的值得數據結構。我存儲這所有的行列小正方形的情況,并判斷當前值是否重復。外循環則代表對下一行,下一列和下一個小正方形的遍歷。 題目要求 Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku boa...

    wing324 評論0 收藏0
  • [LeetCode] 65. Valid Number

    Problem Validate if a given string can be interpreted as a decimal number. Some examples: 0 => true 0.1 => true abc => false 1 a => false 2e10 => true -90e3 => true 1e => false e3 => false 6e-...

    SoapEye 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<