资讯专栏INFORMATION COLUMN

[LintCode] Merge Sorted Array II

宠来也 / 2289人阅读

摘要:循环里最好先考虑和其中之一已经处理完的情况,就直接顺序放另一个没处理完的即可。然后再在里展开方法。避免其中一个数组较小会浪费效率的情况。丫把参数又换成了。。。

Problem

Merge two given sorted integer array A and B into a new sorted integer array.

Example

A=[1,2,3,4]

B=[2,4,5,6]

return [1,2,2,3,4,4,5,6]

Note

循环里最好先考虑A和B其中之一已经处理完的情况,就直接顺序放另一个没处理完的即可。然后再在else里展开方法。
避免其中一个数组较小会浪费效率的情况。

Solution
class Solution {
    public ArrayList mergeSortedArray(ArrayList A, ArrayList B) {
        // write your code here
        int lena = A.size();
        int lenb = B.size();
        ArrayList C = new ArrayList();
        int i = 0, j = 0;
        while (i + j < lena + lenb) {
            if (i == lena) {
                C.add(B.get(j));
                j++;
            }
            else if (j == lenb) {
                C.add(A.get(i));
                i++;
            }
            else {
                if (A.get(i) >= B.get(j)) {
                    C.add(B.get(j));
                    j++;
                }
                else {
                    C.add(A.get(i));
                    i++;
                }
            }
        }
        return C;
    }
}

丫把参数又换成int[]了。。。

class Solution {
    public int[] mergeSortedArray(int[] A, int[] B) {
        // Write your code here
        int lena = A.length;
        int lenb = B.length;
        int[] C = new int[lena + lenb];
        int i = 0, j = 0;
        for (int k = 0; k < lena + lenb; k++) {
            if (i == lena) {
                C[k] = B[j];
                j++;
            }
            else if (j == lenb) {
                C[k] = A[i];
                i++;
            }
            else {
                if (A[i] < B[j]) {
                    C[k] = A[i];
                    i++;
                }
                else {
                    C[k] = B[j];
                    j++;
                }
            }
        }
        return C;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65459.html

相关文章

  • [LintCode/LeetCode] Merge Sorted Array

    Problem Given two sorted integer arrays A and B, merge B into A as one sorted array. Notice You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements ...

    summerpxy 评论0 收藏0
  • [LintCode] Sort Integers II [Merge-sort, Quick-sor

    Problem Given an integer array, sort it in ascending order. Use quick sort, merge sort, heap sort or any O(nlogn) algorithm. Example Given [3, 2, 1, 4, 5], return [1, 2, 3, 4, 5]. Note 考察对Heap Sort, Q...

    YorkChen 评论0 收藏0
  • [LintCode/LeetCode] Remove Duplicates from Sorted

    摘要:思路原数组长度为,则返回原数组长度不为,则至少有个元素。将所有不重复的数值赋给,而当和相等时,不做处理。最后返回的就是不同元素的个数,也是新数组的长度。只有在时,才对赋值。注意,每次初始化的时候要分两种情况,这就意味着从的时候开始遍历。 Remove Duplicates from Sorted Array I Problem Given a sorted array, remove ...

    WalkerXu 评论0 收藏0
  • leetcode部分题目答案之JavaScript版

    摘要:自己没事刷的一些的题目,若有更好的解法,希望能够一起探讨项目地址 自己没事刷的一些LeetCode的题目,若有更好的解法,希望能够一起探讨 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...

    alphahans 评论0 收藏0
  • 前端 | 每天一个 LeetCode

    摘要:在线网站地址我的微信公众号完整题目列表从年月日起,每天更新一题,顺序从易到难,目前已更新个题。这是项目地址欢迎一起交流学习。 这篇文章记录我练习的 LeetCode 题目,语言 JavaScript。 在线网站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公众号: showImg(htt...

    张汉庆 评论0 收藏0

发表评论

0条评论

宠来也

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<