LeetCode88 合并有序数组
1. 这道题为简单题目,但是还有需要好好思考的
2. 首先不能使用额外数组合并,不然就没得后文了
3. nums1后面有0填充,且填充数量正好是n,整个数组大小即m+n能够容纳合并后的数据
4.既然要在原来的数组上操作,有没有可能能够避免移动数据(降低时间复杂度?),使用交换方式
从后往前思考,类似于字符串空格替换(先开辟多余的空间)然后 使用多个指针 从后往前,避免移动数据
因此我们使用p,q,s三个index分别指向num1的数据最后一个,num2数据的最后一个,num1整个大小的最后一个
p = m-1,q = n-1,s=m+n-1;
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
//从后往前合并 两个指针合并
int p = m-1,q=n-1,s=m+n-1;
while(p>=0 && q>=0)
{
if(nums1[p]<nums2[q])
{
nums1[s] = nums2[q];
--s;
--q;
}
else
{
nums1[s] = nums1[p];
--s;
--p;
}
}
while(q>=0)
{
nums1[s] = nums2[q];
--s;
--q;
}
}
};
LeetCode88 合并有序数组的更多相关文章
- PHP 合并有序数组
<?php //两个有序数组合并 $arr1 = [1,5,7,44,66,89]; $arr2 = [4,5,6,88,99,105,111]; $arr3 = []; $l1 = count ...
- [LeetCode] 88. Merge Sorted Array 合并有序数组
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...
- LeetCode 88. Merge Sorted Array(合并有序数组)
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
- 合并K个有序数组-Java
package com.rao.algorithm; import java.util.Arrays; /** * @author Srao * @className MergeK * @date 2 ...
- [LeetCode] 21. Merge Two Sorted Lists 合并有序链表
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- leetcode 4寻找两个有序数组的中位数
最优解O(log(min(m,n))) /** 之前用合并有序数组的思想做了O((m+n+1)/2),现在试一试O(log(min(m,n))) 基本思路为:通过二分查找较小的数组得到对应的中位数(假 ...
- [Swift]LeetCode88. 合并两个有序数组 | Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...
- 面试题:合并2个有序数组(leetcode88)
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. ...
- 【leetcode-88,21】 合并两个有序数组/链表
合并两个有序数组 (easy,1过) 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nu ...
随机推荐
- php CURL 发送http请求 GET POST
* CURL http://www.php.net/manual/en/book.curl.php http://jp2.php.net/manual/en/function.curl-setopt. ...
- python学习笔记(三)-列表&字典
列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...
- 『PyTorch』矩阵乘法总结
1. 二维矩阵乘法 torch.mm() torch.mm(mat1, mat2, out=None),其中mat1(\(n\times m\)),mat2(\(m\times d\)),输出out的 ...
- AT3950-[AGC022E]Median Replace【贪心,dp】
正题 题目链接:https://www.luogu.com.cn/problem/AT3950 题目大意 一个包含\(?,0,1\)的长度为奇数的序列,把\(?\)替换为\(0/1\).每次可以选择三 ...
- sessionId在小程序中的妙用
前言:小程序发送短信验证码需要在后台储存生成的code,一次会话应放入session中,请求头部发送sessionId验证为同一session 1.页面一加载就从后台获取sessionId,储存在本地 ...
- Python3入门系列之-----json与字典转换
json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写 JSON 函数 使用 JSON 函数需要导入 json 库:import js ...
- Linkerd stable-2.11.0 稳定版发布:授权策略、gRPC 重试、性能改进等!
公众号:黑客下午茶 授权策略 Linkerd 的新服务器授权策略(server authorization policy)功能使您可以细粒度控制允许哪些服务相互通信.这些策略直接建立在 Linkerd ...
- spring-data-redis 上百万的 QPS 压力太大连接失败,我 TM 人傻了
大家好,我们最近业务量暴涨,导致我最近一直 TM 人傻了.前几天晚上,发现由于业务压力激增,某个核心微服务新扩容起来的几个实例,在不同程度上,出现了 Redis 连接失败的异常: org.spring ...
- 10.7 URI
URI: Uniform Resource Identifier 统一资源标识符 URL: Uniform Resource Locator 统一资源定位符 URN: Uniform R ...
- 安全通信协议SSH应用与分析
一.实验简介: 本次实验属于安全协议应用与分析系列 二 实验环境: Windows server 2003 server windows xp 做client 三.实验目的 通过该实验了解SSH服务器 ...