🏆个人专栏
🤺 leetcode
🧗 Leetcode Prime
🏇 Golang20天教程
🚴♂️ Java问题收集园地
🌴 成长感悟
欢迎大家观看,不执着于追求顶峰,只享受探索过程
88. 合并排序数组
你好,今天做的是leetcode 88题,是一道数组类题目,它也是总被问道的一个类型。
题目描述
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
初始化 nums1 和 nums2 都为空,且 nums1 的长度为 m + n。
将 nums1 和 nums2 合并到按非降序排序的单个数组中。
最终排序的数组不应由函数返回,而应存储在数组 nums1 内。为了适应这种情况, nums1 的长度为 m + n ,其中第一个 m 元素表示应合并的元素,最后的值如果设置为0,应被忽略。 nums2 的长度为 n 。
例子
这里我个人小白理解分析:
思考1:如果只需一次考虑两个元素而不是两个数组,则可以轻松解决此问题。
我们都知道每个单独的数组都是有序的。我们不知道的是它们将如何交织在一起。我们能否做出局部决策并得出最佳解决方案?
猛一看,这类题好像是一个常规合并,返回一个结果数组即可。暴力解法走起,只要把nums2 数组中的元素先遍历的放入nums1数组中,完事儿后,并进行一个从小到大的升序排列。内心露出一抹喜色,怎么样,终于把隔壁班女生联系方式要到了。
解题环节
上来咱就是主打一个快,别让面试官久等了。
public static int[] merge1<