範例 2.1 插入元素到陣列中的指定位置
題目:給定一個整數陣列A,在編號 k 的位置插入一新元素 value
輸入 A = [5,11,25,36,49,56,77,120],k = 3 ,value = 27
輸出 A = [5,11,25,27,36,49,56,77]
初始想法:
後來調整:建立一個 function,來處理 arrayIndert(arr,k,value)。
那我就建立一個arrayIndert(arr,k,value),但是正面處理range(k+1,len(arr)-1)。所以程式如下
沒想到,出來的結果差強人意:
原因是 i = k+1 時,A[k+1] = A[k]i = k+2 時,A[k+2] = A[k+1],此時的A[k+1]已不是原先的A[k+1]
此外range 不處理len(arr) - 1,所以需要做調整。
所以改用反推回來,也就是range(len(arr)-1,k,-1)。所以程式改寫為
最後結果也是如正確答案一般:
資料來源:
1.Python 資料結構×演算法 刷題鍛鍊班:234 題帶你突破 Coding 面試的難關
題目目錄
01.資料結構-第2章陣列 Array 題目 2.1一維陣列-延伸刷題:找出最大元素的位置
02.資料結構-第2章陣列 Array 題目 2.1一維陣列-範例 2.3 找出陣列中最大(或最小)的元素
03.資料結構-第2章陣列 Array 題目 2.1一維陣列-範例 2.2 刪除陣列中的指定位置的元素
04.資料結構-第2章陣列 Array 題目 2.1一維陣列-範例 2.1 插入元素到陣列中的指定位置
05.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題10:找出小於 n 的質數
06.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題11:從陣列中找出相加等於 k 的兩數
07.資料結構-第2章陣列 Array 題目 2.1一維陣列-練習題2.1 下列程式片段執行的輸出為何?
08.資料結構-第2章陣列 Array 題目 2.1一維陣列-練習題2.2 資料儲存於 A[0] ~ A[ n-1 ]。
09.資料結構-第2章陣列 Array 題目 2.1一維陣列-練習題2.3 下述程式擬找出陣列 A 中的極值
11.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題12:找零錢問題
12.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題13:比例背包問題
13.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題14:最少裝箱浪費問題
14.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題15:最大子陣列(Maximum Subarray)
15.資料結構-第2章陣列 Array 題目-2-D Array 的運算-範例 2.4 矩陣的輸出
沒有留言:
張貼留言