一. 題目
題目給你兩個整數陣列 nums 和 index。你需要按照以下規則建立目標陣列:
目標陣列 target 最初為空。
按從左到右的順序依次讀取 nums[i] 和 index[i],在 target 陣列中的下標 index[i] 處插入值 nums[i] 。
重複上一步,直到在 nums 和 index 中都沒有要讀取的元素。
請你返回目標陣列。
題目保證數字插入位置總是存在。
示例
二. 方法一
解題思路
解題**
def
createtargetarray
(self, nums: list[
int]
, index: list[
int])-
> list[
int]
: lst =
for i in
range
(len
(nums)):
# insert的時間複雜度為o(n)
lst.insert(index[i]
, nums[i]
)return lst
分析時間複雜度: o(n^2)
空間複雜度: o(n)
三. 方法二: 方法一的優化
解題思路
在原來的nums列表中進行變換
解題**
def
createtargetarray
(self, nums: list[
int]
, index: list[
int])-
> list[
int]
:for i in
range
(len
(nums)):
# insert的時間複雜度為o(n)
nums.insert(index[i]
, nums.pop(i)
)return nums
分析時間複雜度: o(n^2)
空間複雜度: o(1)
1389 按既定順序建立目標陣列
題目描述 給你兩個整數陣列 nums 和 index。你需要按照以下規則建立目標陣列 目標陣列 target 最初為空。按從左到右的順序依次讀取 nums i 和 index i 在 target 陣列中的下標 index i 處插入值 nums i 重複上一步,直到在 nums 和 index 中...
1389 按既定順序建立目標陣列
題目 給你兩個整數陣列 nums 和 index。你需要按照以下規則建立目標陣列 目標陣列 target 最初為空。按從左到右的順序依次讀取 nums i 和 index i 在 target 陣列中的下標 index i 處插入值 nums i 重複上一步,直到在 nums 和 index 中都沒...
1389 按既定順序建立目標陣列
給你兩個整數陣列 nums 和 index。你需要按照以下規則建立目標陣列 目標陣列 target 最初為空。按從左到右的順序依次讀取 nums i 和 index i 在 target 陣列中的下標 index i 處插入值 nums i 重複上一步,直到在 nums 和 index 中都沒有要讀...