題解二十七

2021-10-06 02:23:23 字數 869 閱讀 4341

給你兩個有序整數陣列 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 nums1 成為乙個有序陣列。

說明:初始化 nums1 和 nums2 的元素數量分別為 m 和 n 。

你可以假設 nums1 有足夠的空間(空間大小大於或等於 m + n)來儲存 nums2 中的元素。

示例:

思路:

因為num1的空間集中在後面,所以我們從後向前遍歷比較好。

(1)設定雙指標p1、p2, 分別指向有序陣列的最後一位;

(2)從後向前遍歷,終止條件:

1、其中乙個指標不在指向陣列

2、比較雙指標指向的值

3、大的或相同的值放到 num1 空間的尾部( 尾部從後向前依次填充 ), 對應的指標向前挪一位

4、迴圈上面步驟

(3)遍歷完成後檢查,若指向 num2 的指標還有效, 說明 num2 中還有小於 num1 最小值的存在,將這些值搬移到 num1 最前。

class

solution

// 表示將nums2陣列從下標0位置開始,拷貝到nums1陣列中,從下標0位置開始,長度為len2+1

system.

arraycopy

(nums2,

0, nums1,

0, p2 +1)

;}}

這是原先的思路:

class

solution

else

}for

(int i =

0; i < p2 +

1; i++)}

}

隨筆(二十七)

1.安卓開發外掛程式推薦 2.必知必會 android 測試相關的方方面面都在這兒 3android ui效能優化 檢測應用中的ui卡頓 4.recyclerview的拖動和滑動 第一部分 基本的itemtouchhelper示例 支援側滑和排序 5 android觸控事件分發機制詳解 6.andr...

二十七 快速排序

快速排序其實是逐次對每個基數進行排序,當達到乙個臨界值 也就是當元素個數達到一定數量時,簡單的插入排序速度會大於快排 的時候就用插入排序來進行,其實這也是乙個分治處理的過程,和歸併思想大同小異,由於歸併要進行多次遞迴,而快排基於基數每次進行線性時間的分組,所以理想情況下快排優於歸併。這裡就直接上 i...

一百二十七

頭疼編寫k8s部署檔案?k8s yaml 引數很多,需要邊寫邊查?保留回滾版本數怎麼設?如何探測啟動成功,如何探活?如何分配和限制資源?如何設定時區?否則列印日誌是gmt標準時間 如何暴露服務供其它服務呼叫?如何根據cpu和記憶體使用率來配置水平伸縮?首先,你需要知道有這些知識點,其次要把這些知識點...