力扣88.合并两个有序数组(Java)

news/2024/8/26 12:46:28 标签: leetcode, 算法, java

思路:

一般两个有序数组合并,都是从后往前赋值,因为两个数组中的最大值相比较出来的最大值,就是合并后的最大值,所以可以直接丢在最后面,然后如此类推,直到某一个数组被比较完,如果是第一个数组,则只需要将第二个数组剩下的直接赋值过去即可;如果是第二个数组,则不用管了,因为前面放的就是第一个数组的值。

同时注意特殊情况,如果第一个数组的有效值为0个,合并后就是第二个数组,则只需要将第二个数组复制给第一个数组即可;如果第二个数组的有效值为0个,则不需要进行任何操作,合并后就是第一个数组。

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int last1=m-1;//第一个数组中最后一个有效值的下标
        int last2=n-1;//第二个数组中最后一个有效值的下标
        int index=nums1.length-1;//第一个数组最后的下标
        if(n==0){ //如果第二个数组没有东西
            return;
        }
        if(m==0){//如果第一个数组没有东西
            for(int i=0;i<n;i++){
                nums1[i]=nums2[i];//将第二个数组直接复制给第一个数组
            }
            return;
        }
        while(last1>=0&&last2>=0){
            if(nums1[last1]>nums2[last2]){//第一个数组的大于第二个数组
                nums1[index--]=nums1[last1];//从后往前赋值
                last1--;
            }else{//第一个数组的小于第二个数组
                nums1[index--]=nums2[last2];
                last2--;
            }
        }
        while(last2>=0){//如果第二个数组没全部被赋值
            nums1[index--]=nums2[last2--];//直接全部赋值过去
        }
    }
}


http://www.niftyadmin.cn/n/5558828.html

相关文章

Python:循环条件进一步联系

有一个汽车&#xff0c;输入help&#xff08;无论大小写&#xff09;&#xff0c;会弹出 start - to start the car stop - to stop the car quit - to exit 输入start Car started..Ready to go 输入stop Car stopped 输入quit 会结束程序 输入其他 I dont understand that...…

网络安全高级工具软件100套

1、 Nessus&#xff1a;最好的UNIX漏洞扫描工具 Nessus 是最好的免费网络漏洞扫描器&#xff0c;它可以运行于几乎所有的UNIX平台之上。它不止永久升级&#xff0c;还免费提供多达11000种插件&#xff08;但需要注册并接受EULA-acceptance–终端用户授权协议&#xff09;。 它…

Spring Boot快速上手

一&#xff0c;什么是spring 首先登陆Spring官网&#xff0c;看一下官网如何形容的&#xff0c; 可以看出Spring是为了使java程序更加快速&#xff0c;方便&#xff0c;安全所做出的java框架。 1.Spring Boot Spring Boot的诞生就是为了简化Spring的开发&#xff0c;也就是更…

劳易测应用案例 汽车零部件装配线光电传感器解决方案

汽车零部件种类繁多&#xff0c;形状、尺寸、功能各异&#xff0c;生产线的规划与布局必须紧密贴合产品的独特工艺、精细装配流程及高效生产需求。随着电动汽车时代的到来&#xff0c;生产标准愈加严格&#xff0c;对生产线的设计和装配周期提出了更高要求。市场要求生产线不仅…

Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截

摘要 在当今互联网时代&#xff0c;数据采集已成为获取信息的重要手段。然而&#xff0c;随着反爬虫技术的不断进步&#xff0c;爬虫开发者面临着越来越多的挑战。本文将探讨Java爬虫在抓取TikTok音频时的安全策略&#xff0c;包括如何防止请求被拦截&#xff0c;以及如何提高…

win10删除鼠标右键选项

鼠标右键菜单时&#xff0c;发现里面的选项特别多&#xff0c;找一下属性&#xff0c;半天找不到。删除一些不常用的选项&#xff0c;让右键菜单变得干净整洁。 1、按下键盘上的“winR”组合按键&#xff0c;调出“运行”对话框&#xff0c;输入“regedit”命令&#xff0c;点击…

WHAT - 介绍一个不太一样的 UI 组件库 shadcn/ui

目录 一、介绍主要特点核心组件示例代码社区和支持总结 二、copy/paste1. 高度可定制性2. 避免依赖锁定3. 学习和理解4. 简化调试5. 项目需求变化 官方文档&#xff1a;https://ui.shadcn.com/docs 一、介绍 ShadCN (ShadCN/UI) 是一个现代的 React 组件库&#xff0c;旨在提…

搜维尔科技:Xsens DOT 可穿戴传感器介绍及示例应用演示

Xsens DOT可穿戴传感器介绍及示例应用演示 搜维尔科技&#xff1a;Xsens DOT 可穿戴传感器介绍及示例应用演示