因為學資料結構比較頭大(我們學的是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) 相等。 同時,示例 2:3 也是第乙個符合要求的中心索引。
輸入:
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.樹形結構 樹形結構的資料元素...