• Leetcode 88、189,合并两个有序数组与旋转数组


      直接挑战 O(1) 空间复杂度解法,双指针尾插法:

        /**
        * @Author Niuxy
        * @Date 2020/7/2 9:16 下午
        * @Description 双指针尾插法
        */
        public void merge(int[] nums1, int m, int[] nums2, int n) {
            int point1 = m - 1;
            int point2 = n - 1;
            int point = m + n - 1;
            while ((point1 >= 0) && (point2 >= 0)) {
                nums1[point--] = (nums1[point1] < nums2[point2]) ? nums2[point2--] : nums1[point1--];
            }
            System.arraycopy(nums2, 0, nums1, 0, point2 + 1);
        }

      下一题:

      朴素解法:

        /**
        * @Author Niuxy
        * @Date 2020/7/2 12:15 上午
        * @Description 朴素解法
        */
        public final void rotate(int[] nums, int k) {
            if (k > nums.length) {
                k %= nums.length;
            }
            for (int i = 0; i < k; i++) {
                rotateOne(nums);
            }
        }
    
        public final void rotateOne(int[] nums) {
            int last = nums[nums.length - 1];
            for (int i = nums.length - 1; i > 0; i--) {
                nums[i] = nums[i - 1];
            }
            nums[0] = last;
        }

      环形数组解法:

        /**
        * @Author Niuxy
        * @Date 2020/7/2 12:15 上午
        * @Description 环形数组解法
        */
        public final void rotate2(int[] nums, int k) {
            if (nums.length == 0) {
                return;
            }
            if (k > nums.length) {
                k %= nums.length;
            }
            int[] temp = new int[k];
            System.arraycopy(nums, nums.length - k, temp, 0, k);
            System.arraycopy(nums, 0, nums, k, nums.length - k);
            System.arraycopy(temp,0,nums,0,k);
        }

  • 相关阅读:
    strongswan--HA
    RFC8221 -- 密码算法实现要求和使用指南
    strongswan--ikev2软件架构
    strongswan--ike sa状态机
    strongswan--ipsec.conf配置文件分析
    strongswan--linux内核ipsec policy类型
    strongswan--配置Charon-systemd问题解决
    strongswan——IKE建立过程
    GCC入门
    MPLS-TP OAM各个层次
  • 原文地址:https://www.cnblogs.com/niuyourou/p/13222497.html
Copyright © 2020-2023  润新知