2020-11-03 leetcode刷題記錄 5道

1、217. 存在重復(fù)元素

給定一個整數(shù)數(shù)組,判斷是否存在重復(fù)元素。

如果任意一值在數(shù)組中出現(xiàn)至少兩次,函數(shù)返回?true?。如果數(shù)組中每個元素都不相同,則返回?false?。

關(guān)鍵點(diǎn):哈希表:

class?Solution:

????def?containsDuplicate(self,?nums:?List[int])?->?bool:

????????a={}

????????for?i?in?range(len(nums)):

????????????if?nums[i]?in?a:

????????????????a[nums[i]]+=1

????????????else:

????????????????a[nums[i]]=1

????????for?i?in?range(len(nums)):

????????????if?a[nums[i]]>=2:

????????????????return?True

????????return?False

2、237. 刪除鏈表中的節(jié)點(diǎn)

請編寫一個函數(shù),使其可以刪除某個鏈表中給定的(非末尾)節(jié)點(diǎn)。傳入函數(shù)的唯一參數(shù)為?要被刪除的節(jié)點(diǎn)?。

關(guān)鍵點(diǎn):直接修改節(jié)點(diǎn)

#?Definition?for?singly-linked?list.

#?class?ListNode:

#?????def?__init__(self,?x):

#?????????self.val?=?x

#?????????self.next?=?None

class?Solution:

????def?deleteNode(self,?node):

????????"""

????????:type?node:?ListNode

????????:rtype:?void?Do?not?return?anything,?modify?node?in-place?instead.

????????"""

????????node.val?=?node.next.val

????????node.next?=?node.next.next

3、242. 有效的字母異位詞

給定兩個字符串?s?和?t?,編寫一個函數(shù)來判斷?t?是否是?s?的字母異位詞。

關(guān)鍵點(diǎn):哈希表:

class?Solution:

????def?isAnagram(self,?s:?str,?t:?str)?->?bool:

????????k1=len(s)

????????k2=len(t)

????????if?k1!=k2:

????????????return?False

????????else:

????????????s1={}

????????????for?i?in?range(len(s)):

????????????????if?s[i]?in?s1:

????????????????????s1[s[i]]+=1

????????????????else:

????????????????????s1[s[i]]=1

????????????t1={}

????????????for?i?in?range(len(t)):

????????????????if?t[i]?in?t1:

????????????????????t1[t[i]]+=1

????????????????else:

????????????????????t1[t[i]]=1


????????????for?i?in?s1:

????????????????if?i?not?in?t1?or?s1[i]!=t1[i]:

????????????????????return?False

????????????return?True

4、268. 丟失的數(shù)字

給定一個包含?[0, n]中n個數(shù)的數(shù)組?nums?,找出?[0, n]?這個范圍內(nèi)沒有出現(xiàn)在數(shù)組中的那個數(shù)。

關(guān)鍵點(diǎn):哈希表:

class?Solution:

????def?missingNumber(self,?nums:?List[int])?->?int:

????????hash1={}

????????for?i?in?range(len(nums)):

????????????if?nums[i]?in?hash1:

???????????????hash1[nums[i]]+=1

????????????else:

????????????????hash1[nums[i]]=1

????????for?i?in?range(len(nums)+1):

????????????if?i?not?in?hash1:

????????????????return?i

326. 3的冪

給定一個整數(shù),寫一個函數(shù)來判斷它是否是 3?的冪次方。

關(guān)鍵點(diǎn):循環(huán)和判斷

class?Solution:

????def?isPowerOfThree(self,?n:?int)?->?bool:


????????if?n==0:

????????????return?False

????????elif?n==1:

????????????return?True

????????while?n>=2:

??????????????if?n%3==0:

????????????????????n=n/3

????????????????????if?n==1:

????????????????????????return?True

??????????????else:

??????????????????return?False

????????return?False


寫于20201103晚11點(diǎn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容