Leetcode 每日一練

2021-10-08 03:58:35 字數 1584 閱讀 4011

按既定順序建立目標陣列

給你兩個整數陣列 nums 和 index。你需要按照以下規則建立目標陣列:

目標陣列 target 最初為空。

按從左到右的順序依次讀取 nums[i] 和 index[i],在 target 陣列中的下標 index[i] 處插入值 nums[i] 。

重複上一步,直到在 nums 和 index 中都沒有要讀取的元素。

請你返回目標陣列。

題目保證數字插入位置總是存在。

示例 1:

輸入:nums = [0,1,2,3,4], index = [0,1,2,2,1]

輸出:[0,4,1,3,2]

解釋:nums index target

0 0 [0]

1 1 [0,1]

2 2 [0,1,2]

3 2 [0,1,3,2]

4 1 [0,4,1,3,2]

示例 2:

輸入:nums = [1,2,3,4,0], index = [0,1,2,3,0]

輸出:[0,1,2,3,4]

解釋:nums index target

1 0 [1]

2 1 [1,2]

3 2 [1,2,3]

4 3 [1,2,3,4]

0 0 [0,1,2,3,4]

示例 3:

輸入:nums = [1], index = [0]

輸出:[1]

1 <= nums.length, index.length <= 100

nums.length == index.length

0 <= nums[i] <= 100

0 <= index[i] <= i

**:

class

solution

int[

] a =

newint

[target.

size()

];for(

int i=

0;i)return a;

}}

arraylist轉陣列:

網上搜arraylist和陣列互相轉換的方法時,舉的例子都是string型別的。

但是對於int型別如果這樣寫:

arraylist a=new arraylist();

int array=(int)a.toarray(new int[size]);//會報錯

則會報錯,這是因為int並不等同於integer。因此如果換成integer陣列,則能正確執行。

list list = new arraylist();

list.add(1);

list.add(2);

integer array = list.toarray(new integer[list.size()]);//能正確執行

for(int element:array)

如果非得希望得到int的話,只能用迴圈賦值來得到了。

int d = new int[list.size()];

for(int i = 0;i如果既不想用迴圈,又想要得到int,那就只能在jdk8中使用intstream了。

Leetcode 每日一練

最小棧 設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop top ge...

Leetcode 每日一練

leetcode 每日一練 擁有最多糖果的孩子 給你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意...

Leetcode 每日一練

猜數字 小a 和 小b 在玩猜數字。小b 每次從 1,2,3 中隨機選擇乙個,小a 每次也從 1,2,3 中選擇乙個猜。他們一共進行三次這個遊戲,請返回 小a 猜對了幾次?輸入的guess陣列為 小a 每次的猜測,answer陣列為 小b 每次的選擇。guess和answer的長度都等於3。示例 1...