title: leetcode no.14
categories:
tags:
編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 「」。
示例 1:
輸入:strs = ["flower","flow","flight"]
輸出:"fl"
示例 2:
輸入:strs = ["dog","racecar","car"]
輸出:""
解釋:輸入不存在公共字首。
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 僅由小寫英文本母組成
import re
class solution(object):
def longestcommonprefix(self, strs):
""":type strs: list[str]
:rtype: str
"""if len(strs) == 0:
return ""
if len(strs) == 1:
return strs[0]
if strs[0] == '':
return ""
commanforward = ''
flag = false
index = -1
for i in range(len(strs[0])):
commanforward += strs[0][i]
j = 1
while j < len(strs):
if commanforward != strs[j][0:i+1]:
index = i
flag = true
break
j += 1
if flag:
break
if ~flag:
index = i+1
if index == -1:
return ""
else:
return strs[0][0:index]
if __name__ == '__main__':
s = solution()
print(s.longestcommonprefix(["a","a","b"]))
解題思路 leetcode第十四題 最長公共字首
題目描述 編寫乙個函式來查詢字串陣列中的最長公共字首。如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸入 dog racecar car 輸出 解釋 輸入不存在公共字首。說明 所有輸入只包含小寫字母 a z 首先對輸入列表進行判斷,若列表...
leetcode筆記 第十四周 回溯演算法
回溯演算法是一種純暴力搜尋演算法,可以解決組合問題 排列問題 子集問題 切割問題 棋盤問題 class solution def readbinarywatch self,num int list str 暴力法 遍歷hour和minite,bin count 1 實現統計二進位制表示中1的數量 r...
第十四周 知原理真題
1 對於a 0.10 有序表 1 用二分查詢法查詢 90時,需進行多少次查詢可確定成功?2 當查詢47時需進行多少次查詢可確定成功?3 查詢100時,需進行多少次查詢才能確定不成功?4 求成功和不成功時的平均查詢長度。5 構造對於這個序列的判定樹,並再求成功和不成功時的平均查詢長度。常用方式求平均查...