LeetCode1389 按既定順序建立目標陣列

2021-10-08 18:47:10 字數 1152 閱讀 4820

一. 題目

題目給你兩個整數陣列 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 中都沒有要讀...