摘要:描述分析該題的說明比較模糊,所以需要慢慢進行嘗試來弄清楚哪些是合法的數字。代碼去除前后的空格小數點前面不能出現和小數點前面不能出現,并且需要有數字保證后面也有數字符號只能再位和后面一位
描述
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
摘要:完整的正則表達式為。代碼如下翻譯如果我們看到數字,就將設為如果看到小數點,則判斷是否已有小數點或是,因為后只能有整數只能遇到一次,如果第一次遇到但是沒有遇到數字,則返回錯誤。 題目要求 Validate if a given string is numeric. Some examples: 0 => true 0.1 => true abc => false 1 a => fa...
摘要:描述累加數是一個字符串,組成它的數字可以形成累加序列。一個有效的累加序列必須至少包含個數。說明累加序列里的數不會以開頭,所以不會出現或者的情況。示例輸入輸出解釋累加序列為。 LeetCode 306. Additive Number Description Additive number is a string whose digits can form additive sequen...
摘要:為了減少無效遍歷,我們可以在尋找第一個數字和第二個數字的時候及時終止。我們可以知道第一個數字的長度不應該超過字符串長度的一般,第二個數字的長度無法超過字符串長度減去第一個數字的長度。因此一旦遇到,在判斷完作為加數時是否合法后,直接跳出循環。 題目要求 Additive number is a string whose digits can form additive sequence....
摘要:如果重復則不合法,否則極為合法。在這里我們使用數組代替作為存儲行列和小正方形的值得數據結構。我存儲這所有的行列小正方形的情況,并判斷當前值是否重復。外循環則代表對下一行,下一列和下一個小正方形的遍歷。 題目要求 Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku boa...
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-...
閱讀 3142·2021-10-08 10:04
閱讀 1080·2021-09-30 09:48
閱讀 3449·2021-09-22 10:53
閱讀 1664·2021-09-10 11:22
閱讀 1682·2021-09-06 15:00
閱讀 2142·2019-08-30 15:56
閱讀 704·2019-08-30 15:53
閱讀 2273·2019-08-30 13:04