• 合并两个有序数组


    题目描述

    给出两个有序的整数数组 imgimg,请将数组 img合并到数组 img中,变成一个有序的数组
    注意:
    可以假设 img数组有足够的空间存放 img数组的元素, imgimg中初始的元素数目分别为 imgimg

    代码实现

    public class Solution {
        public void merge(int A[], int m, int B[], int n) {
        //dp[i]代表的意思是:第i位置上的值为A与B相比的最小的值
            int[] dp = new  int[m+n];//临时数组
            int i = 0;//A的下标初始值
            int j = 0;//B的下标初始值
            int index = 0;//dp的下标初始值
            while(i<m && j< n){//不到边界
                dp[index++] = (A[i]<B[j])? A[i++] : B[j++];
                //把最小的值放在dp[index]中,然后对应的下标++
            }
            while(i < m){//A中剩余的放到临时数组中
                dp[index++] = A[i++];
            }
             while(j < n){//B中的剩余放到临时数组中
                dp[index++] = B[j++];
            }
            
            for(int k = 0; k < dp.length; k++){//将临时数组的东西放到题目要求的A数组中
                A[k] = dp[k];
            }
                       
                   
        }
    }
    
  • 相关阅读:
    路飞学城Python-Day142
    路飞学城Python-Day141
    路飞学城Python-Day140
    路飞学城Python-Day136
    路飞学城Python-Day137
    路飞学城Python-Day117
    java基础知识总结
    Maven
    MySql实现分页查询
    js中的正则表达式入门
  • 原文地址:https://www.cnblogs.com/albertshine/p/13688007.html
Copyright © 2020-2023  润新知