程式設計實踐筆記No 11

2021-10-17 04:53:02 字數 1969 閱讀 1537

題目二141 環形鍊錶

題目三142 環形鍊錶 ii

寫在最前面,程式設計一直是我的短板,希望在leetcode練習中獲得進步!

參考datawhale組隊學習中「leetcodetencent」 鏈結

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。

第一次見到加入集合,第二次見到從集合中刪除,剩下的就是只出現一次的數。

class

solution

:def

singlenumber

(self, nums: list[

int])-

>

int:

h =set(

)for item in nums:

if item in h:

h.remove(item)

else

: h.add(item)

return

list

(h)[

0]

時間複雜度o(n)

鏈結

給定乙個鍊錶,判斷鍊錶中是否有環。

為了表示給定鍊錶中的環,我們使用整數pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果pos是 -1,則在該鍊錶中沒有環

如果是鍊錶中有環,快慢指標將會相遇。

class

solution

:def

hascycle

(self, head: listnode)

->

bool:if

not head or

not head.

next

:return

false

slow = head

fast = head.

next

while slow != fast:

ifnot fast or

not fast.

next

:return

false

slow = slow.

next

fast = fast.

next

.next

return

true

鏈結

鏈結

給定乙個鍊錶,返回鍊錶開始入環的第乙個節點。 如果鍊錶無環,則返回 null。

為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鍊錶中沒有環。

說明:不允許修改給定的鍊錶。

鏈結

No 11 預設實參的匹配

注意 程式語言只是我們與計算機交流並讓計算機實現我們創造性思想的工具,可以並鼓勵深入掌握一門語言,但千萬別沉迷於鑽某種語言的牛角尖,一定要把握好二者間的度 本帖屬不定時 貼,以試卷的形式提出乙個比較基礎的問題供大家思考討論,問題的解析將在下一更新貼中一併給出,這樣做是希望還不清楚問題的朋友有自己思考...

《程式設計實踐》筆記

名字 變數的作用域越大,它的名字所攜帶的基本資訊就應該越多。全域性變數使用具有說明性的文字,區域性變數用短名字。因為全域性變數可以出現在整個程式任何地方,因此它們的名字應足夠長,具有足夠的說明性,以便讀者能夠記得它們是幹什麼用的。按常規方式使用的區域性變數可以採用極短的名字。例如,i j做迴圈變數,...

NO11 條件編譯使用分析

條件編譯的行為類似於c語言中的if.else.根據條件來確定是否進行相關編譯,要知道條件編譯是預編譯指示命令,在進行編譯已經選擇要編譯內容,及根據選擇編譯某段 預編譯器根據條件編譯指令有選擇的刪除 編譯器不知道 分支的存在 可以通過命令列定義巨集 gcc dmacro value file.c or...