第一章 常用的資料結構(上)

2021-10-08 16:16:04 字數 2920 閱讀 6776

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

示例 1:

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

輸出: true

示例 2:

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

輸出: false

思路:可以用兩個長度為26的陣列,分別統計每個字元出現的個數,也可以利用乙個長度為26的陣列,出現在s的字元+1,出現在t的字元-1,最後判斷陣列是否為0.

leetcode25. k 個一組翻轉鍊錶

給你乙個鍊錶,每 k 個節點一組進行翻轉,請你返回翻轉後的鍊錶。

k 是乙個正整數,它的值小於或等於鍊錶的長度。

如果節點總數不是 k 的整數倍,那麼請將最後剩餘的節點保持原有順序。

示例:

給你這個鍊錶:1->2->3->4->5

當 k = 2 時,應當返回: 2->1->4->3->5

當 k = 3 時,應當返回: 3->2->1->4->5

考察鍊錶翻轉的能力,考察遞迴呼叫的能力。

*///翻轉乙個鍊錶

struct listnode*

reverse

(struct listnode* head)

cur-

>next = prev;

return cur;

}//遞迴呼叫

leetcode20. 有效的括號

給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。

有效字串需滿足:

左括號必須用相同型別的右括號閉合。

左括號必須以正確的順序閉合。

注意空字串可被認為是有效字串。

示例 1:

輸入: "()"

輸出: true

思路,每一次都把左括號壓入棧內,在每次取出右括號時,判斷棧頂有沒有元素與之匹配。

class

solution

else')

if(s[i]

==')')if

(s[i]

==']')}

}if(!s.

empty()

)return

false

;return

true;}

};

leetcode739. 每日溫度

請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為:要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。

例如,給定乙個列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的輸出應該是 [1, 1, 4, 2, 1, 1, 0, 0]。

思路:暴力搜尋,複雜度o(n),運用堆疊stack,快速地幫助我們知道需要多少天,就能得到溫度公升高,基本的思想就是從頭掃瞄一遍給定的陣列t,如果當天的溫度比堆疊頂端記錄的溫度還要高,就能知道結果了。

資料結構第一章

1.程式設計的實質 資料表示和資料處理。資料表示的核心是資料結構,資料處理的核心是演算法。資料結構 演算法 程式 2.資料是資訊的載體,在電腦科學中是指所以所有能 輸入到計算機中並能被識別電腦程式和處理的符號集合。資料的分類 一是整體,實數等數值資料 二是文字,聲音,圖形和影象等非數值資料。資料元素...

資料結構第一章

資料結構第一章 1.1廣播方式傳送檔案 傳送機傳送一次,所有都可接收。優 程式設計容易 傳送速度快 卻 容易丟包 1.2單播方式傳送 一次乙個 1.3改進方式 多級單播傳輸 類傳銷方式 順序儲存 陣列 鏈式 鍊錶 雜湊儲存 資料元素的儲存位置由值確定。資料元素之間的關係通過指標表達。查詢 如果i 某...

資料結構第一章

1.1 計算 計算才是最終的目標 繩索計算器 尺規計算器 通用步驟,給外面的一點做平行線 1.a4 演算法 a5 有窮性 u運算後加到序列中 因為64之後,一直除2都可以.演算法必須是有窮的,但是27這個,是無窮的,序列 是有窮的 但是也是很多 而42只有8個序列 好演算法有人說好演算法是 最重要的...