【Merge Sorted Array】cpp

题目:

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

代码:

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
            int i1 = m-1, i2 = n-1, i = m+n-1;
            while ( i1>=0 && i2>=0 ){
                if ( nums1[i1]<nums2[i2] ){
                    nums1[i--] = nums2[i2--];
                }
                else{
                    nums1[i--] = nums1[i1--];
                }
            }
            while (i2>=0) nums1[i--] = nums2[i2--];
    }
};

tips:

双指针,从后往前扫描。

如果最后i1大于等于0则不用处理了;如果最后i2大于等于0,再处理一下。记住。

时间: 2024-11-06 03:36:19

【Merge Sorted Array】cpp的相关文章

leetcode 【 Merge Sorted Array 】python 实现

题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B ar

【Search In Rotated Sorted Array】cpp

题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return its index, otherwise return -1. You may assume no du

【Remove Duplicates from Sorted Array】cpp

题目: https://leetcode.com/problems/remove-duplicates-from-sorted-array/ Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do

【Insertion Sorted List】cpp

题目: Sort a linked list using insertion sort. 代码: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* insertionSortList(ListNode

【leetcode】Merge Sorted Array

Merge Sorted Array Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialize

&lt;LeetCode OJ&gt; Merge Sorted Array【88】

88. Merge Sorted Array My Submissions Question Total Accepted: 80830 Total Submissions: 274120 Difficulty: Easy Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough sp

88. Merge Sorted Array【leetcode】算法,java将两个有序数组合并到一个数组中

88. Merge Sorted Array Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The n

【LeetCode-面试算法经典-Java实现】【088-Merge Sorted Array(合并排序数组)】

[088-Merge Sorted Array(合并排序数组)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough space (size that is greater or equal to m +

【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】

[108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 题目大意 给定一个升序排列的二叉树,将其转换为一棵高度平衡的二叉树. 解题思路 采用递归分治法. 代码