Every day a Leetcode
题目来源:3069. 将元素分配到两个数组中 I
解法1:模拟
简单地按题意模拟。
代码:
/*
* @lc app=leetcode.cn id=3069 lang=cpp
*
* [3069] 将元素分配到两个数组中 I
*/
// @lc code=start
class Solution
{
public:
vector<int> resultArray(vector<int> &nums)
{
vector<int> arr1, arr2;
arr1.push_back(nums[0]);
arr2.push_back(nums[1]);
for (int i = 2; i < nums.size(); i++)
{
if (arr1.back() > arr2.back())
arr1.push_back(nums[i]);
else
arr2.push_back(nums[i]);
}
vector<int> result(arr1.begin(), arr1.end());
for (int &x : arr2)
result.push_back(x);
return result;
}
};
// @lc code=end
结果:
复杂度分析:
时间复杂度:O(n),其中 n 是数组 nums 的元素个数。
空间复杂度:O(n),其中 n 是数组 nums 的元素个数。