zoukankan      html  css  js  c++  java
  • leetcode之Merge Sorted Array

    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 are m andn respectively.

    这道题的思路和剑指offer上第2章中关于字符串操作的面试题4替换空格相似。如果从前面开始比较会不断地移动后面的数组元素,因此借助空格替换思想,定义三个指针来移动。

    这道题虽然在leetcode上提交成功,但是仍然不知道自己去怎么测试。比如事先不知道应该给A定义多大的数组。今晚问了问同学,说可以先给A定义一个很长的数组,然后A数组输入的时候用Scanner 依次输入A[i];

    好吧,这个问题先留着,把我的代码放在下面

    public void merge(int A[], int m, int B[], int n) {
            int q = m+n-1;
            int p = m-1;
            int r = n-1;
            
            while(p>=0&&r>=0){
                if(A[p]>=B[r]){
                    A[q] = A[p];
                    q--;
                    p--;
                    }
                else{
                    A[q] = B[r];
                    q--;
                    r--;
                }
            }
            while(p>=0){
                A[q] = A[p];
                q--;
                p--;
            }
            while(q>=0){
                A[q] = B[r];
                q--;
                r--;
            }
            
        }
  • 相关阅读:
    Git学习
    flask学习5 错误页面
    flask学习4-会话
    flask学习3
    线性代数复习
    flask学习2
    flask学习1
    windows下安装easy_install,pip,及flask入门教程链接
    MacOS Terminal调用Python代码
    [java] 类变量初始化顺序
  • 原文地址:https://www.cnblogs.com/gracyandjohn/p/4382985.html
Copyright © 2011-2022 走看看