wordpress图片浏览插件,专业优化网站建设,网站建设推广好处,店铺100个关键词说在前面 #x1f388;不知道大家对于算法的学习是一个怎样的心态呢#xff1f;为了面试还是因为兴趣#xff1f;不管是出于什么原因#xff0c;算法学习需要持续保持。 题目描述
给你一个下标从 1 开始、包含 不同 整数的数组 nums #xff0c;数组长度为 n 。
你需要通…说在前面 不知道大家对于算法的学习是一个怎样的心态呢为了面试还是因为兴趣不管是出于什么原因算法学习需要持续保持。 题目描述
给你一个下标从 1 开始、包含 不同 整数的数组 nums 数组长度为 n 。
你需要通过 n 次操作将 nums 中的所有元素分配到两个数组 arr1 和 arr2 中。在第一次操作中将 nums[1] 追加到 arr1 。在第二次操作中将 nums[2] 追加到 arr2 。之后在第 i 次操作中
如果 arr1 的最后一个元素 大于 arr2 的最后一个元素就将 nums[i] 追加到 arr1 。否则将 nums[i] 追加到 arr2 。
通过连接数组 arr1 和 arr2 形成数组 result 。例如如果 arr1 [1,2,3] 且 arr2 [4,5,6] 那么 result [1,2,3,4,5,6] 。
返回数组 result 。 示例 1
输入 nums [2,1,3]
输出 [2,3,1]
解释 在前两次操作后arr1 [2] arr2 [1] 。
在第 3 次操作中由于 arr1 的最后一个元素大于 arr2 的最后一个元素2 1将 nums[3] 追加到 arr1 。
3 次操作后arr1 [2,3] arr2 [1] 。
因此连接形成的数组 result 是 [2,3,1] 。示例 2
输入 nums [5,4,3,8]
输出 [5,3,4,8]
解释 在前两次操作后arr1 [5] arr2 [4] 。
在第 3 次操作中由于 arr1 的最后一个元素大于 arr2 的最后一个元素5 4将 nums[3] 追加到 arr1 因此 arr1 变为 [5,3] 。
在第 4 次操作中由于 arr2 的最后一个元素大于 arr1 的最后一个元素4 3将 nums[4] 追加到 arr2 因此 arr2 变为 [4,8] 。
4 次操作后arr1 [5,3] arr2 [4,8] 。
因此连接形成的数组 result 是 [5,3,4,8] 。提示
3 n 501 nums[i] 100nums中的所有元素都互不相同。
解题思路
这是一道比较简单的题目直接根据题目遍历进行模拟即可完整代码如下
AC代码
/*** param {number[]} nums* return {number[]}*/
var resultArray function(nums) {let a [nums[0]], b [nums[1]]for(let i 2; i nums.length; i){if(a.at(-1) b.at(-1)) a.push(nums[i])else b.push(nums[i])}return a.concat(b)
};公众号
关注公众号『前端也能这么有趣』获取更多有趣内容。
说在后面 这里是 JYeontu现在是一名前端工程师有空会刷刷算法题平时喜欢打羽毛球 平时也喜欢写些东西既为自己记录 也希望可以对大家有那么一丢丢的帮助写的不好望多多谅解 写错的地方望指出定会认真改进 偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章有兴趣的也可以关注下。在此谢谢大家的支持我们下文再见 。