資料結構基礎訓練

2021-10-22 07:51:32 字數 1844 閱讀 3046

字串相關題目練習

總結集合:由乙個或多個確定的元素所構成的整體。

集合的特性

1.集合裡的元素型別不一定相同。

2.集合裡的元素沒有順序。

列表:列表是一種資料項構成的有限序列,即按照一定的線性順序,排列而成的資料項的集合,在這種資料結構上進行的基本操作包括對元素的的查詢,插入,和刪除。

列表的特性:它具有順序,且長度是可變的。

陣列:有序的元素序列。

讀取元素:讀取陣列中的元素,是通過訪問索引的方式來讀取的。

查詢元素:在查詢元素時,只需從陣列開頭逐步向後查詢。

插入元素:如果要將該元素插入到陣列的末尾,只需要一步。即計算機通過陣列的長度和位置計算出即將插入元素的記憶體位址,然後將該元素插入到指定位置即可。

刪除元素:刪除掉陣列中的某個元素後,陣列中會留下空缺的位置,而陣列中的元素在記憶體中是連續的,這就使得後面的元素需對該位置進行填補操作。

字串:由數字、字母、下劃線組成的一串字元。

字串的特點

1.字串的長度是在字串中字元的數目(序列的長度),它可以是任何非負整數。

2.兩個字串相等:長度相等,並且各個對應位置上的字元都相等。

3.多個字串可以通過『+』進行連線生成乙個新的字串。

給你乙個整數陣列 nums,請編寫乙個能夠返回陣列 「中心下標」 的方法。

陣列「中心下標」是陣列的乙個下標,其左側所有元素相加的和等於右側所有元素相加的和。

如果陣列不存在「中心下標」,返回 -1 。如果陣列有多個「中心下標」,應該返回最靠近左邊的那乙個。

**

class

solution

: def pivotindex

(self, nums)

:"""

:type nums: list[int]

:rtype: int

"""res =

sum(nums)

lsum =

0for i, j in

enumerate

(nums)

:if lsum *

2+ j == res:

return i

lsum += j

return

-1

結果:

;結果:

通過對上述內容的學習以及相關題目的練習,感覺對陣列與字串有了一定的了解,但是依舊不熟悉其相關操作,後期還應加強對此內容的繼續學習。

第一次使用blog進行學習成果的展示,感觸更深,在寫blog的過程中,又一次複習了自己的學習過程,還是乙個檢查的過程,相對於普通的學習,這種方式更加高效,有成就感!

資料結構基礎訓練

1.陣列簡介 2.二維陣列簡介 3.字串簡介 1尋找陣列的中心索引 2旋轉矩陣 3最長公共字首 1.尋找陣列的中心索引 給你乙個整數陣列 nums,請編寫乙個能夠返回陣列 中心下標 的方法。陣列 中心下標 是陣列的乙個下標,其左側所有元素相加的和等於右側所有元素相加的和。如果陣列不存在中心下標,返回...

資料結構基礎訓練

資料結構基礎訓練 二 二維陣列 三 字串 心得體會 利用陣列和字串進行簡單的資料結構練習,以leetcode程式題為物件,以c 作為開發語言,從而總結兩者的異同。1 題目分析 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。2 ...

資料結構基礎訓練 陣列與字串

kmp雙指標 1,理解陣列的 基本概念 及其 操作方式 2,理解 二維陣列 的基本概念,熟悉二維陣列的使用 3,了解 字串 的概念以及字串所具有的不同特性 4,理解字串匹配中的 kmp 演算法 5,能夠運用 雙指標 解決實際問題。集合是爺爺,列表是爸爸,字串是兒子 陣列的查詢 按位置查詢 時間複雜度...