首页 > 其他分享 >力扣 88.合并两个有序数组

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

时间:2024-09-05 22:52:07浏览次数:12  
标签:-- number param 力扣 88 let 数组 nums1 nums2

思路: 比较两个数组中最大的数(数组是非递减的), 选取大的那个, 从nums1的最后边赋值.
.
.
.

/**
 * @param {number[]} nums1
 * @param {number} m
 * @param {number[]} nums2
 * @param {number} n
 * @return {void} Do not return anything, modify nums1 in-place instead.
 */
var merge = function (nums1, m, nums2, n) {
  let i = m - 1
  let j = n - 1
  let k = m + n - 1  // 指向nums1的最后一个位置
  while (j >= 0) {
    if (nums1[i] > nums2[j]) {
      nums1[k] = nums1[i]
    //   i用掉了, i--
      i--
    } else {
      nums1[k] = nums2[j]
    //   j用掉了, j--
      j--
    }
    k-- // 反正最后一个位置都会被用掉的, --
  }
  console.log(nums1);
}

// 测试用例
merge([1,3,9,0,0],3,[2,10],2)

.
.
.
输出结果:

标签:--,number,param,力扣,88,let,数组,nums1,nums2
From: https://www.cnblogs.com/mandyGuan12/p/18399360

相关文章

  • P3688 [ZJOI2017] 树状数组 题解
    P3688[ZJOI2017]树状数组题解记录一下做这道题的心路历程,说明在没有事先知道“九条是求成了后缀和”的情况下如何发现,以及解释一些部分分的做法。sub1,18pts:暴力搜索无脑枚举,复杂度\(\mathcalO(n^m)\)。代码:#include<bits/stdc++.h>#defineintlonglong#defineloop......
  • AT_arc151 题解 & 数组字典序大小比较求方案数
    很好的一题,做的时候没有一点思路,看了题解。看来做过的题目还是太少了,记录一下经验。注意到$1\leN\le2\times10^5$和$1\leM\le10^9$,如此庞大的数据,dp是肯定不行的。当字典序$A<B$时,当且仅当存在$i$,使得$\forallx\in[1,i)$,$A_x=B_x$且$A_i<B_i$。那么我们对于$......
  • 【力扣13】罗马数字转整数
    13.罗马数字转整数-力扣(LeetCode)根据前后字母代表数值大小,确定是加上还是减去该值(罗马数字的辨识规则)把字母映射成一个数字:使用哈希表"unordered_map"然后从前往后枚举每一个字符,比较大小,确定加上还是减去这个值classSolution{public:intromanToInt(strings){......
  • 数组的学习
    1.一维数组在C语言中,数组的声明格式为:类型名数组名[数组长度];例如:intnumbers[5];表示声明了一个包含5个整数的数组。数组的元素可以通过索引来访问,索引从0开始计数。例如,要访问数组numbers中的第一个元素,可以使用numbers[0]。一维数组的初始化主要需要注意字符数组的初始......
  • C++学习笔记----6、内存管理(二)---- 数组指针的双向性
            你可能已经看到指针与数组之间的一些重叠。自由内存空间分配的数组由其第一个元素的指针进行访问。栈上的数组通过使用数组语法([])或者正常变量声明来访问。你还会看到的是,其重叠不仅如此,指针与数组有更复杂的关系。1、数组退化至指针        自由内......
  • 5.数组
    MODULE5 数组1.数组的特点以及定义2.数组的操作(存数据,取数据,遍历数据)3.二维数组(定义,存,取,遍历)4.知道内存中的:堆,栈一、数组的定义1.问题:如果我们想存储一个数组,我们可以使用变量,但是变量一次只能存储一 个数据,所以我们想能不能一次存储多个数据2.数组概述:是一个容器,数组本身属......
  • 终于使用c++、结构体,函数实现简单数组元素的插入
    includeusingnamespacestd;//定义结构体structMyArray{intarr[100];//数组,假设最大长度为100intn;//数组当前元素数量};//输入函数voidscanf(MyArray&myArray,int&x,int&y){cin>>myArray.n;for(inti=0;i<myArray.n;i++){cin>>my......
  • 二维数组根据某个字段去重并统计个数
    publicfunctioncensus(){$data=$this->request->post("params/a");//$data=[//['name'=>'Alice','specId'=>25],//['name'......
  • 力扣86.分割链表
    classSolution{publicListNodepartition(ListNodehead,intx){//初始化两个链表的头节点和尾节点,分别用于存储小于x和大于等于x的节点ListNodeleftHead=null,leftTail=null;ListNoderightHead=null,rightTail=null;//临时变量,用于遍历原链......
  • c++遍历数组的多种方式
    方法一:普通的for循环for(inti=0;i<sizeof(a)/sizeof(a[0]);i++){cout<<a[i]<<"";}方法二:指针数组int*p[len];for(inti=0;i<len;i++){p[i]=&a[i];cout<<*p[i];}———————————————......