当前位置: 首页 > article >正文

合并两个有序数组(js实现,LeetCode:88)

 

这道题在code区域有这么一句话

这说明这道题实际要做的是对nums1的原地修改

 在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 fast = m - 1
    let slow = n - 1
    for (let i = m + n - 1; i >= 0; i--) {
        if (fast < 0) {
            nums1[i] = nums2[slow]
            slow -= 1
        } else if (slow < 0) {
            nums1[i] = nums1[fast]
            fast -= 1
        }
        else if (nums1[fast] < nums2[slow]) {
            nums1[i] = nums2[slow]
            slow -= 1
        } else {
            nums1[i] = nums1[fast]
            fast -= 1
        }
    }
    console.log(nums1)
};

由于题目给定了nums1与nums2是非递减顺序排列的整数数组,所以这里选择使用倒序遍历数组以保证数组的非递减顺序排列


http://www.kler.cn/a/593040.html

相关文章:

  • 【零基础入门unity游戏开发——unity3D篇】3D模型 —— 3D模型基础介绍
  • 【区块链 + 商贸零售】商小萌小程序 | FISCO BCOS 应用案例
  • python力扣438.找到字符串中所有字母异位词
  • 解决diffusers加载stablediffusion模型,输入prompt总是报错token数超出clip最大长度限制
  • 车载以太网网络测试-16【传输层-UDP】
  • JSON数据格式介绍
  • KUKA机器人信息编程程序
  • LeetCode[124] 二叉树中的最大路径和
  • Blender制作次表面材质
  • AI代理到底怎么玩?
  • IIS 服务器日志和性能监控
  • J2EE实现规范
  • 智慧加油站小程序数据库设计文档
  • K8s集群的环境部署
  • 视频对讲系统中,强插和强拆;视频分发功能
  • 汽车一键启动PKE无钥匙系统
  • 学习TensorFlow前的NumPy核心知识点
  • AI 时代,学习 Java 应如何入手?
  • Python pyqt+flask做一个简单实用的自动排班系统
  • Conda 虚拟环境创建:加不加 Python 版本的深度剖析