LeetCode(40)-Merge Sorted Array

听到初爱有感

开头啰嗦两句。刚在做算法题目的时候。听到了杨宗纬的《初爱》,突然有了一种本科时候的感觉,想想自己如今研二了,青春喂了狗,我果断喝了一罐啤酒,循环这首歌到吐…..

题目:

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

思路:

  • 题意是如果数组nums1里面m个元素,nums2有n个元素,nums1的大小是m+n,两个数组都是有序的,要求把nums2。放到nums1里面
  • 充分利用两个数组都是有序的这个条件,不断推断nums1和nums2和最后一个元素,谁大,就把它拷贝到nums1的最后一个,同一时候对应的指针减一
  • -

代码:

public class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        if(n == 0)return;
        int all = m+n-1;
        m--;
        n--;
        while(m >=0 && n >=0){
            nums1[all--] = nums1[m] > nums2[n] ? nums1[m--]:nums2[n--];
        }
        while(n >= 0){
            nums1[all--] = nums2[n--];
        }
    }
}
posted @   llguanli  阅读(169)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2017-04-25 android:scaleType="matrix"布局文件载入图片时候的显示方式
2017-04-25 兆芯笔试题(2015)找反复数最多的字母的数量以及位置
2017-04-25 获得文件属性的函数调用实例
2017-04-25 错了:用流量能够放肆,有wifi则要节制
2017-04-25 为什么会找不到D层文件?
2017-04-25 Cocos2d-x3.0游戏实例之《别救我》第六篇——从代码中获取UI控件
2017-04-25 Add Binary
点击右上角即可分享
微信分享提示