zoukankan      html  css  js  c++  java
  • 88. 合并两个有序数组

    观察可知,( extit{nums}_1) 的后半部分是空的,可以直接覆盖而不会影响结果。因此可以指针设置为从后向前遍历,每次取两者之中的较大者放进 ( extit{nums}_1) 的最后面。

    /*
     * @lc app=leetcode.cn id=88 lang=java
     *
     * [88] 合并两个有序数组
     */
    
    // @lc code=start
    class Solution {
        public void merge(int[] nums1, int m, int[] nums2, int n) {
            int index = m + n - 1;
            int i = m - 1, j = n - 1;
            while (i >= 0 && j >= 0) {
                nums1[index--] = (nums1[i] > nums2[j] ? nums1[i--] : nums2[j--]);
            }
    
            while (j >= 0) {
                nums1[index--] = nums2[j--];
            }
        }
    }
    // @lc code=end
    
    
  • 相关阅读:
    团队选题与评审
    消息管家
    团队展示
    功能规格说明书
    测试与优化
    git分支管理
    MVC小结
    .Net基础加强
    结对编程
    个人作业1_软件工程
  • 原文地址:https://www.cnblogs.com/fxh0707/p/15256505.html
Copyright © 2011-2022 走看看