陣列和字串以及go語言實現

2021-10-08 19:33:13 字數 1593 閱讀 9666

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

集合的特性:

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

集合裡的元素沒有順序。

列表:一種資料項構成的有限序列,即按照一定的線性順序,排列而成的資料項的集合。

特性:有序且長度可變。

常見表現形式:資料和鍊錶

特殊型別:棧和佇列

區分列表和資料:索引

陣列使用索引的數字來標識每項資料在陣列中的位置,從0算起。

列表沒有索引。

陣列中的元素在記憶體中連續儲存,且每個元素占用相同大小的記憶體。

陣列的4種操作:

讀取元素

查詢元素

插入元素

刪除元素

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

陣列 中心索引 :陣列中心索引的左側所有元素相加的和等於右側所有元素相加的和。

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

示例:

輸入:

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

輸出:3

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

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

go語言實現:

func pivotindex

(nums [

]int) int

for i :=0

;i<

len(nums)

;i++

else

sumright = sum-sumleft-nums[i]

if(sumleft == sumright)

}return-1

}

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

假設陣列中無重複元素。

示例 1:

輸入: [1,3,5,6], 5

輸出: 2

示例 2:

輸入: [1,3,5,6], 2

輸出: 1

go實現:

func searchinsert

(nums [

]int, target int) int

}return

len(nums)

}

給出乙個區間的集合,請合併所有重疊的區間。

示例 1:

輸入: [[1,3],[2,6],[8,10],[15,18]]

輸出: [[1,6],[8,10],[15,18]]

解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].

示例 2:

輸入: [[1,4],[4,5]]

輸出: [[1,5]]

解釋: 區間 [1,4] 和 [4,5] 可被視為重疊區間。

LoadRunner C語言 實現字串陣列比較

c語言裡字串比較沒有現成的方法,沒搜到合身的,只得寫乙個了,記之 define ecnt 3 預期長度 define icnt 5 實際長度 或上限 define length 6 字串最大長度 main 預期找到的資料 charistr icnt length 實際找到的資料 comparestr...

LoadRunner C語言 實現字串陣列比較

c語言裡字串比較沒有現成的方法,沒搜到合身的,只得寫乙個了,記之 define ecnt 3 預期長度 define icnt 5 實際長度 或上限 define length 6 字串最大長度 main 預期找到的資料 charistr icnt length 實際找到的資料 comparestr...

Go語言實現 劍指offer 左旋轉字串

該題目 於牛客網 劍指offer 專題。組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc go語言實現...