雜湊對映和集合練習

2021-10-05 22:33:18 字數 2585 閱讀 2608

給定兩個字串 s 和 t ,編寫乙個函式來判斷 t 是否是 s 的字母異位詞。

示例 1:

輸入: s = "anagram", t = "nagaram"

輸出: true

示例 2:

輸入: s = "rat", t = "car"

輸出: false

class

solution

:def

isanagram

(self, s:

str, t:

str)

->

bool

:# 1. 雜湊 set

iflen

(s)!=

len(t)

:return

false

for i in

set(s)

:if s.count(i)

!= t.count(i)

:return

false

return

true

# 2. 雜湊 dict

iflen

(s)!=

len(t)

:return

false

dit =

for i in s:

if i in dit:

dit[i]+=1

else

: dit[i]=1

for i in t:

if i in dit:

dit[i]-=1

else

:return

false

for i in dit:

if dit[i]!=0

:return

false

return

true

# 3. python 特性

return

sorted

(s)==

sorted

(t)

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

class

solution

:def

twosum

(self, nums: list[

int]

, target:

int)

-> list[

int]

:# 1. 遍歷就完事了

for i in

range

(len

(nums)):

for j in

range

(i+1

,len

(nums)):

if nums[i]

+ nums[j]

== target:

return

[i,j]

# 2. 雜湊

ans_map =

dict()

for i in

range

(len

(nums)):

want = target - nums[i]

if want in ans_map:

return

[ans_map[want]

, i]

ans_map[nums[i]

]= i

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。

示例:

輸入: ["eat", "tea", "tan", "ate", "nat", "bat"]

輸出:[

["ate","eat","tea"],

["nat","tan"],

["bat"]

]

說明:

class

solution

:def

groupanagrams

(self, strs: list[

str])-

> list[list[

str]]:

res =

dic =

for s in strs:

keys =

"".join(

sorted

(s))

if keys not

in dic:

dic[keys]

=[s]

else

: dic[keys]

return

list

(dic.values(

))

集合和對映 Set and Map

集合是具有某種相似特性的事物的全體。它的重要特點是其中的資料元素無序且不重複,這也就是判斷是否使用該容器的依據。利用我之前的樹的定義和實現中的bst.go函式來呼叫而實現的 package arr type set struct 利用二分搜尋樹來實現結合的curd 新增元素到集合中 func set...

雜湊表 設計雜湊對映

不使用任何內建的雜湊表庫設計乙個雜湊對映 具體地說,你的設計應該包含以下的功能 示例 myhashmap hashmap new myhashmap hashmap.put 1,1 hashmap.put 2,2 hashmap.get 1 返回 1 hashmap.get 3 返回 1 未找到 h...

C STL Map對映和Set集合

map 對映 可以理解為下標可以不為int型別的高階陣列 include mapa 是字串到數字的對映 應用 給英文本串,求星期幾 include include include using namespace std mapday int main set 集合 與數學上的集合意義相同 相同元素記...