給定一個整數(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
請編寫一個函數(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
給定兩個字符串?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
給定一個包含?[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
給定一個整數(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)