【LeetCode】88. 合并两个有序数组
2021-04-21 00:29
标签:素数 输出 保存 提交代码 href ref 初始 示例 pre 【题目描述】 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 示例: 输入: 输出: [1,2,2,3,5,6] 来源:力扣(LeetCode) 【解题思路】 逆向合并到数组nums1中,可以不用另外开辟空间; 【提交代码】 【LeetCode】88. 合并两个有序数组 标签:素数 输出 保存 提交代码 href ref 初始 示例 pre 原文地址:https://www.cnblogs.com/utank/p/13282923.html
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3
链接:https://leetcode-cn.com/problems/merge-sorted-array 1 void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
2 int pos;
3 int *A = nums1;
4 int *B = nums2;
5
6 pos = m + n -1;
7
8 while( m > 0 && n > 0 )
9 {
10 if( B[n-1] > A[m-1] )
11 {
12 A[pos] = B[n-1];
13 n--;
14 }
15 else
16 {
17 A[pos] = A[m-1];
18 m--;
19 }
20 pos--;
21 }
22
23 while( m > 0 )
24 {
25 A[pos] = A[m-1];
26 pos--;
27 m--;
28 }
29
30 while( n > 0 )
31 {
32 A[pos] = B[n-1];
33 pos--;
34 n--;
35 }
36 }
上一篇:Java执行curl命令
文章标题:【LeetCode】88. 合并两个有序数组
文章链接:http://soscw.com/index.php/essay/77376.html