zoukankan      html  css  js  c++  java
  • LeetCode & Q88-Merge Sorted Array-Easy

    Array Two Pointers

    Description:

    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.

    我现在意识到我的智商非常低...刚开始一直纠结于从前往后排,想的头都要炸了...看了眼discuss,感叹人类的智慧啊(主要还是题主太蠢)从后往前排的话,工作量小太多太多了!!

    Solution:

    public class Solution {
        public void merge(int[] nums1, int m, int[] nums2, int n) {
            int i = m -1;
            int j = n -1;
            int k = m + n - 1;
            while (i >= 0 && j >= 0) {
                if (nums1[i] > nums2[j]) {
                    nums1[k--] = nums1[i--];
                } else {
                    nums1[k--] = nums2[j--];
                }
            }
            while (j >= 0) {
                nums1[k--] = nums2[j--];
            }
            while (i >= 0) {
                nums1[k--] = nums1[i--];
            }
        }
    }
    
  • 相关阅读:
    Java基础
    Java 基础
    Java基础
    Java基础
    web 学习随记(1)
    jdk8-》List去重
    JVM-调优方案
    JUC_02 AQS工作原理
    Synchronized-可重入锁原理
    JUC_01 线程阻塞、唤醒三种方式
  • 原文地址:https://www.cnblogs.com/duyue6002/p/7168584.html
Copyright © 2011-2022 走看看