首页 > 其他分享 >力扣-88-合并两个有序数组

力扣-88-合并两个有序数组

时间:2022-08-15 17:34:36浏览次数:53  
标签:p2 index p1 -- 力扣 88 数组 nums1 nums2

本来觉得很简单,然后准备提交了发现要在数组1里面合并,没有额外空间
然后就有了一个大胆的想法——我直接插进去然后sort

class Solution {
public:
	void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
		// 逆向双指针
		int p1 = m - 1, p2 = n - 1, index = m + n - 1;

		while (p1 >= 0 || p2 >= 0) {
			if (p1 == -1) nums1[index--] = nums2[p2--];
			else if (p2 == -1) nums1[index--] = nums1[p1--];
			else if (nums1[p1] > nums2[p2]) nums1[index--] = nums1[p1--];
			else nums1[index--] = nums2[p2--];
		}
	}
};


时间都没过50%,老哥们还能写出多快速简单的解法
我感觉都忘了双指针怎么写,或者说,没写过这种双指针

标签:p2,index,p1,--,力扣,88,数组,nums1,nums2
From: https://www.cnblogs.com/yaocy/p/16589020.html

相关文章

  • 力扣练习——70 串联所有单词的子串
    1.问题描述给定一个字符串s和一些长度相同的单词words。找出s中恰好可以由words中所有单词串联形成的子串的起始位置。注意子串要与words中的单词完全匹配,中间......
  • 力扣练习——69 前K个高频单词
    1.问题描述给一非空的单词列表,返回前k个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 示例1:......
  • vue2 绑定数组,变化无法更新view的解决方法
    vue绑定数组,更新数组的内容时,view没有更新,多数是因为直接给数组內的数据赋值了,如:this.student[i].name="JackFung";这样做vue是不会触发视图更新的。根据vue的官方文......
  • leetcode4-寻找两个正序数组的中位数
    寻找两个正序数组的中位数二分查找classSolution{intlen1,len2;publicdoublefindMedianSortedArrays(int[]nums1,int[]nums2){len1=nu......
  • LeetCode912 排序数组(手撕快排)
    LeetCode912排序数组classSolution:defsortArray(self,nums:List[int])->List[int]:importrandomdefpartition(l:int,r:int......
  • 根据数组构建二叉树
    //"""//给定一个非空列表,一层一层的构建一个二叉树。//例如://input=[5,7,9,2,4,6,3,1,8,10]//我希望返回结果://5(0)///\//......
  • 力扣 101. 对称二叉树
    101.对称二叉树给你一个二叉树的根节点 root ,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输......
  • 力扣 100.相同的数
    100.相同的树给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示......
  • Java数组
    Java数组一、数组声明创建1、声明数组:数组元素类型数组名[]/[][]数组元素类型[]/[][]数组名为数组分配元素:数组名=new数组元素类型[数组元素个数]2、声明和创......
  • 从1到4选出不重复的3个数组成,能有多少种组合
    importitertoolsa=range(1,5)y=list(itertools.permutations(a,3))print(y)输出:[(1,2,3),(1,2,4),(1,3,2),(1,3,4),(1,4,2),(1,4,3),(2,......