博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第2章 排序 || 第15节 有序数组合并练习题
阅读量:6804 次
发布时间:2019-06-26

本文共 919 字,大约阅读时间需要 3 分钟。

  • 题目

有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B。请编写一个方法,将B合并入A并排序。

给定两个有序int数组AB,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组。

  • 解析

class Merge {public:    int* mergeAB(int* A, int* B, int n, int m) {        // write code here        while(n>0&&m>0)        {            if(A[n-1]>B[m-1])            {                A[m+n-1]=A[n-1];                n--;            }            else            {                A[m+n-1]=B[m-1];                m--;            }                    }        while(m>0)        {            A[m-1]=B[m-1];            m--;        }        return A;    }};

 - python

# -*- coding:utf-8 -*-class Merge:    def mergeAB(self, A, B, n, m):        # write code here        i,j=n,m        while i>0 and j>0:            if A[i-1]>B[j-1]:                A[i+j-1]=A[i-1]                i=i-1            else:                A[i+j-1]=B[j-1]                j=j-1        if j>0:            A[:j]=B[:j]        return A

 

转载地址:http://wtjwl.baihongyu.com/

你可能感兴趣的文章
CMAKE总结(1) .lib .dll .a .so libx.dll libx.dll.a
查看>>
java读取配置文件*.property
查看>>
how to send mail from 3rd
查看>>
mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations
查看>>
AJAX 传递jison数组 ;前端循环辅助数组 -----解决方案
查看>>
关于磁盘相关知识
查看>>
Mozilla推出HTML/CSS在线交互式学习网站Thimble
查看>>
关于ppp认证
查看>>
彻底禁用SilentDetection.aspx,极速登录
查看>>
为了忘却的纪念,我的天龙游戏生涯
查看>>
12294错误事件的处理--利用审核日志查找病毒来源
查看>>
第25讲: Scala中柯里化实战详解
查看>>
81.LAMP,PHP5和PHP7安装
查看>>
linux服务(一)LAMP编译安装
查看>>
一次RPC调用时间都去哪儿了
查看>>
linux的rsync工具的常用选项及ssh同步介绍
查看>>
oracle内存体系(二)
查看>>
ReflectASM的使用
查看>>
智能家居监控移动手机组态现实生活中的应用
查看>>
笔试题、面试题
查看>>