資料結構學習記錄(一)

2021-10-09 14:55:33 字數 1337 閱讀 1373

因為學資料結構比較頭大(我們學的是c資料結構,而我早已經把c忘光了),看書也有點難懂,所以去leetcode刷題了。

今天開始刷題記錄(因為我實在是不想把這麼多東西存到電腦,那麼乾脆雲乙份吧)。這些記錄都比較個人,是做給自己看的。

給定乙個整數型別的陣列 nums,請編寫乙個能夠返回陣列 「中心索引」 的方法。

我們是這樣定義陣列 中心索引 的:陣列中心索引的左側所有元素相加的和等於右側所有元素相加的和。

如果陣列不存在中心索引,那麼我們應該返回 -1。如果陣列有多個中心索引,那麼我們應該返回最靠近左邊的那乙個。

示例 1:

輸入:

nums = [1, 7, 3, 6, 5, 6]

輸出:3

解釋:

索引 3 (nums[3] = 6) 的左側數之和 (1 + 7 + 3 = 11),與右側數之和 (5 + 6 = 11) 相等。 同時,

3 也是第乙個符合要求的中心索引。

示例 2:

輸入:

nums = [1, 2, 3]

輸出:-1

解釋:

陣列中不存在滿足此條件的中心索引。

說明:

nums 的長度範圍為 [0, 10000]。 任何乙個 nums[i] 將會是乙個範圍在 [-1000, 1000]的整數。

我們需要乙個從左邊開始加陣列元素的和,需要乙個右側元素加和。需要停止,需要比較,需要分情況返回值。

那麼,

我們需要乙個從左邊開始加陣列元素的和——定為sum,初始值0

需要乙個右側元素加和————我覺得闊以用總加和=2倍的左加和判斷,這樣更容易。定為cursum, 初始值為0

(我覺得闊以用雙指標)

需要停止——設定停止方案:當兩個指標相遇,就開始判斷,然後據情況返回值

需要比較——判斷sum cursum是否相等

需要分情況返回值——相等返回數,否則就返回-1

int

pivotindex

(int

* nums,

int numssize)

int cursum =0;

for(

int i =

0; i < numssize;

++i)

return-1

;//不符合的話,返回-1

}

這題大概就這樣啦,還有好多要學習的呢!watch剛好有了久坐提醒,我該起來動一下啦!

9 14資料結構學習記錄

include include includeusing namespace std int main sqstack sqstack st int initstack sqstack st 初始化棧 int empty sqstack st int push sqstack st,int x in...

資料結構學習記錄 1

1.資料結構是相互之間存在一種或對多種特定關係的資料元素的集合。2.在任何問題中,資料元素都不是孤立存在的,而是在他們之間存在著某種關係,這種資料元素之間的關係叫做結構 3.根據資料元素之間關係的不同特性,通常有4類基本結構 a.集合 結構中的資料元素之間除了 同屬於用乙個集合 的關係外,沒有其他關...

資料結構學習(一)

資料結構,是相互之間存在一種或多種特定關係的資料元素的集合,資料結構可以分為邏輯結構和物理結構 邏輯結構 是指資料物件中資料元素之間的相互關係 1.集合結構 集合結構中的資料元素除了屬於同乙個集合外,沒有任何關係 2.線性結構 線性結構中的資料元素是一對一的結構關係 3.樹形結構 樹形結構的資料元素...