tft每日頭條

 > 生活

 > 帶重複元素的數組全排列問題

帶重複元素的數組全排列問題

生活 更新时间:2024-07-23 06:17:47

帶重複元素的數組全排列問題?給定兩個有序整數數組 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成為一個有序數組,我來為大家科普一下關于帶重複元素的數組全排列問題?下面希望有你要的答案,我們一起來看看吧!

帶重複元素的數組全排列問題(合并兩個有序數組)1

帶重複元素的數組全排列問題

給定兩個有序整數數組 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成為一個有序數組。

說明:

初始化 nums1 和 nums2 的元素數量分别為 m 和 n。

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

示例:

輸入:

nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6], n = 3

輸出: [1,2,2,3,5,6]

解題思路:這題做法很多,這邊簡單采用時間複雜度0(n)的,一次遍曆即可。注意題目,數組nums1足夠大。

public void merge(int[] nums1, int m, int[] nums2, int n) { //先歸并大的,這樣一遍掃面即可。 for (int k = m n - 1, i = m - 1, j = n - 1; k >= 0; k--) { if (i < 0) { nums1[k] = nums2[j--]; continue; } if (j < 0) { nums1[k] = nums1[i--]; continue; } if (nums1[i] >= nums2[j]) nums1[k] = nums1[i--]; else nums1[k] = nums2[j--]; } }

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved