小李飛刀 刷題第四彈!

2021-09-12 18:00:44 字數 3990 閱讀 9607

time:2019-02-01

昨晚其實刷了題來著,但是沒有解出來,哭泣!

但是,今天重新寫了下,解出來咯~

所以今天的題量要增加咯~

我會加油的!

14. 最長公共字首

難度:簡單

編寫乙個函式來查詢字串陣列中的最長公共字首。

如果不存在公共字首,返回空字串 ""。

我的解題**如下:

class solution:

def longestcommonprefix(self, strs):

""":type strs: list[str]

:rtype: str

"""length = len(strs)

result = ""

if length < 1:#如果空就不需要比較

return result

if length < 2:

result = strs[0]

return result

#找到最短詞,避免越界

l = len(strs[0])

for i in strs[1:]:

if l > len(i):

l = len(i)#最小的迴圈次數

for j in range(l):#迴圈二維 strs[a][j]

for a in range(1,length):

if strs[0][j] == strs[a][j]:#始終按第乙個陣列來做比對

if a == length - 1:#陣列最後一位

因為是第二遍寫了,所以加了很多奇怪的注釋,但是思路清晰很多。

注釋還是很重要的~

我的主要思路是:

總結:

雙重迴圈的效率還是比較低的,可以再考慮優化下,看下官方題解的方式。

13. 羅馬數字轉整數

難度:簡單

羅馬數字包含以下七種字元: i, v, x, l,c,d 和 m。

字元 數值

i 1v 5

x 10

l 50

c 100

d 500

m 1000

例如, 羅馬數字 2 寫做 ii ,即為兩個並列的 1。12 寫做 xii ,即為 x + ii 。 27 寫做 xxvii, 即為 xx + v + ii 。

通常情況下,羅馬數字中小的數字在大的數字的右邊。但也存在特例,例如 4 不寫做 iiii,而是 iv。數字 1 在數字 5 的左邊,所表示的數等於大數 5 減小數 1 得到的數值 4 。同樣地,數字 9 表示為 ix。這個特殊的規則只適用於以下六種情況:

i 可以放在 v (5) 和 x (10) 的左邊,來表示 4 和 9。

x 可以放在 l (50) 和 c (100) 的左邊,來表示 40 和 90。

c 可以放在 d (500) 和 m (1000) 的左邊,來表示 400 和 900。

給定乙個羅馬數字,將其轉換成整數。輸入確保在 1 到 3999 的範圍內。

我的解題**如下:

執行效率上屬於偏慢的那一撥。

我的主要思路是:

總結:

21. 合併兩個有序鍊錶

難度:簡單

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。
我的解題**如下:

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

def mergetwolists(self, l1, l2):

""":type l1: listnode

:type l2: listnode

:rtype: listnode

"""r = listnode(0)#游標

算是比較大眾的乙個效率。

我的主要思路是:

總結:

小李飛刀 刷題第三彈!

正式刷題第三天。之前看了個說法,挺認可的。就是不要太在意一天的能呈現的價值,但是要在意累計的價值。之前很多時候我會對今天一天沒有完成的計畫而沮喪,事實上,演算法的實踐,統計學的學習這些都是需要時間去積累去吃透。所以,持之以恆的學習更為重要。現在的目標是每天2題,當適合的時候就提高每天的題量!20.有...

ctfshow 紅包題第四彈

進去後發現就乙個輸入框,提示我們輸入flag 不過輸了後沒反應,那麼審查元素看看 可以發現是呼叫的ctfshow 這個函式 在chrome的console視窗除錯下這個函式看下它幹嘛的 格式化下 方便審計 可以發現這是把js 變數名16進製制編碼後再把 邏輯複雜化 好我們來讀下這串 首先定義乙個變數...

牛客網刷題第四題

題目 牛牛以前在老師那裡得到了乙個正整數數對 x,y 牛牛忘記他們具體是多少了。但是牛牛記得老師告訴過他x和y均不大於n,並且x除以y的餘數大於等於k。牛牛希望你能幫他計算一共有多少個可能的數對。輸入描述 輸入包括兩個正整數n,k 1 n 10 5,0 k n 1 輸出描述 對於每個測試用例,輸出乙...