leetcode 88.合并两个有序数组

news2024/11/15 13:29:10

⭐️ 题目描述

在这里插入图片描述

🌟 leetcode链接:合并两个有序数组

⭕️ 代码:

/*
    思路:双指针问题
        1.从前往后拷贝依次比较两个数组元素的较小值,较小值先拷贝
            - 问题:从前拷贝会造成覆盖(有问题)
        2.从后往前拷贝依次比较两个数组元素的较大值,较大值先拷贝
            - 需要考虑特殊情况
                当 nums2先拷贝完 那么nums1就是最终结果
                当 nums1先拷贝完,nums2还有元素,所以要依次把nums2在拷贝到nums1对应位置
*/
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
    int nums1End = m - 1;
    int nums2End = n - 1;
    int end = m + n - 1;
    // 当两个下标有一个下标越界循环结束
    while (nums1End >= 0 && nums2End >= 0) {
        if (nums1[nums1End] > nums2[nums2End]) {
            nums1[end--] = nums1[nums1End--];
        } else {
            nums1[end--] = nums2[nums2End--];
        }
    }

    // 特殊情况:当 nums1先拷贝完,nums2还有元素,所以要依次把nums2在拷贝到nums1对应位置
    while (nums2End >= 0) {
        nums1[end--] = nums2[nums2End--];
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/710062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot(五)SpringBoot事务

在实际开发项目时,程序并不是总会按照正常的流程去执行,有时候线上可能出现一些无法预知的问题,任何一步操作都有可能发生异常,异常则会导致后续的操作无法完成。此时由于业务逻辑并未正确的完成,所以在之前操作过数据…

单臂路由实现不同VLAN之间数据转发

实验环境: 思科模拟器,Cisco Packet Tracer 实验拓扑: 实验配置: (1)PC配置 IP地址子网掩码网关PC1192.168.10.1255.255.255.0192.168.10.254PC2192.168.10.2255.255.255.0192.168.10.254PC3192.168.20…

串口通讯监控方法

当我们调试硬件的时候,发现串口数据异常,用示波器和逻辑分析仪的话会比较麻烦,此时可以并一个监控串口,如下图所示 232串口,我们是不能直接并一个串口上去的;但是我们的监控串口,可以只接一根R…

【玩转循环】探索Python中的无限可能性

前言 循环可能是每个编程语言中使用比较多的语法了,如果能合理利用好循环,就会出现意想不到的结果,大大地减少代码量,让机器做那些简单枯燥的循环过程,今天我将为大家分享 python 中的循环语法使用。🚗&am…

数据结构--栈的链式存储

数据结构–栈的链式存储 推荐使用不带头结点的单链表 \color{green}推荐使用不带头结点的单链表 推荐使用不带头结点的单链表 typedef struct LNode {ElemType data;struct LNode* next; } LNode, *LinkList;bool InitList(LinkList &L) {L->next NULL; }后插操作&…

python网络编程(二)模拟ssh远程执行命令

1、项目需求: 要实现一个像ssh远程连接工具一样,在终端输入命令,返回对应的结果。 比如window的dos命令: dir :查看目录下的文件 ipconfig : 查看网卡信息 tasklist : 查看进程列表 linux的命令: ls : 查看…

Jenkins与CI/CD

简介 CI(持续集成) Continuous Integration是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编…

Debian 环境使用 docker compose 部署 sentry

Debian 环境使用 docker compose 部署 sentry Sentry 简介什么是 Sentry ?Sentry 开发语言及支持的 SDKSentry 功能架构 前置准备条件规格配置说明Dcoker Desktop 安装WSL2/Debian11 环境准备 Sentry 安装步骤docker 部署 sentry 步骤演示过程说明 总结 Sentry 简介…

python机器学习在气象模式订正、短临预报、气候预测等场景的应用

基于机器学习的天河机场物流预测研究 全球经济快速增长的形势下,八大区域性枢纽之一的武汉天河机场的物流需求也在攀升。文章针对天河机场的货邮吞吐量,运用机器学习中的线性回归模型通过Python对其进行需求预测,并用二次指数平滑法与之对比,在平均绝对百分误差比较下得出机器…

需求分析引言:架构漫谈(四)性能专题

前文介绍了非功能性需求里的可靠性和可用性, 本文对非功能性需求里的性能,进行一些详细的说明,和如何度量系统的性能问题。 1、概念 性能通常是指一个软件系统的处理能力和速度,一般通过 延迟 和 吞吐量 这两个指标进行度量。 不…

分布式软件架构——域名解析系统

透明多级分流系统的设计原则 用户在使用信息系统的过程中,请求首先是从浏览器出发,在DNS的指引下找到系统的入口,然后经过了网关、负载均衡器、缓存、服务集群等一系列设施,最后接触到了系统末端存储于数据库服务器中的信息&…

云计算——容器

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 目录 前言 一.容器简介 二.主流容器技术 1.docker (1)容器的组…

HTML5+ Runtime提示

使用的环境 vue-cli框架,Andriod调试、云打包都会出现该弹框 1.我遇到的问题 上述弹框提示,HBuilderX3.8.2 , 手机SDK版本是3.8.4,不匹配 解决目的:需要让两个版本匹配 2. 点击“查看详情”,查看原因 …

JS文件UTF8格式乱码问题

UTF8格式的JS文件在IE中显示乱码问题的解决 这种情况通常是由于JS文件头缺少BOM标志引起的,解决方式: 方法1:用系统自带记事本,另存为 UTF-8,覆盖原文件,会自动加上BOM标志(就是文件开头的EF BB BF 三个字节) 方法2: 用notepad 打开,编码菜单,由UTF8编码改为 UTF8-BOM编码

10-Vue从入门到手撕

什么时候可以开始学习Vue? 学习路线:H5 CSS3 ---> ES6 ---> 网络 ---> 第三方库 ---> 工程化 ---> Vue 不经过前面的铺垫是无法学习vue的,就算学了还得倒回去补知识点 展现Vue Vue源码分析,走进作者的内心世界 …

记录一次对STM32G4串口硬件FIFO的调试

记录一次对STM32G4串口硬件FIFO的调试 前言:通常我们使用串口接收多字节数据会使用中断和DMA两种方式。使用中断方式,每接收到一个字节就会触发一次中断,我们可以在中断函数里将接收到的这一字节保存在内存中然后等待其他程序处理&#xff0c…

麦语言是什么东东?怎么学?

麦语言(M Language)是一种用于处理数据的编程语言,最初由微软公司开发。它是Power Query(数据提取和转换工具)和Power BI(商业智能工具)中的一部分。麦语言支持对各种数据源进行查询、转换和清理…

农业温室大棚数据监控系统的设计与实现

1.引言 农业温室大棚作为现在农业发展的必要条件,将高新技术融入农业温室大棚也愈发的重要,对农业温室大棚数据的监控,将温室大棚智能化。本设计对温室大棚实现远程数据监控,自动化控制,对温室内的环境数据进行巡回检…

解决Springboot在启动时报错:不支持发行版本17

今天在创建新项目时控制台出现如下错误: 最后经过排查发现问题出现如下几点。将以下几点进行修改问题得以解决。 1.将红色箭头地方由17改为11 2.将maven的pom文件中 的javaversion由17改为113.将spingboot的版本调为2.7.5 如果以上还没有解决问题,可以尝…

机器视觉(图像处理)入门金典之图像数字化及处理方法

图像的数字化 一般的图像(模拟图像)不能直接用计算机来处理,必须首先转化为数字图像 把模拟图像分割成一个个称为像素的小区域,每个像素的亮度或灰度值用一个整数表示 数字化的含义: 使模拟图像的灰度、亮度和色彩数据化 图像数字化的步骤: 两个步骤: 1、在空间坐标…