leetcode代码本地化,在控制台运行时出现
"resource": "/x:/data-struct/leet-code/rookie-brush-force-buckle/合并两个有序数组.cpp",
"owner": "C/C++",
"code": "349",
"severity": 8,
"message": "没有与这些操作数匹配的 \"<<\" 运算符 -- 操作数类型为: std::ostream << void",
"source": "C/C++",
"startLineNumber": 21,
"startColumn": 9,
"endLineNumber": 21,
"endColumn": 9
}]
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
for(int i=0;i!=n;++i)
{
nums1[m+i]=nums2[i];//直接合并数组,然后开始排序
}
sort(nums1.begin(),nums1.end());
}
};
int main(){
vector<int> nums1={1,2,3,4,5};
vector<int> nums2={4,5,2,6};
Solution s;
cout<<s.merge(int nums1,int nums2)<<endl;
}
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
class Solution {
public:
vector<int> merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
for (int i = 0; i != n; ++i)
{
nums1[m + i] = nums2[i];//直接合并数组,然后开始排序
}
sort(nums1.begin(), nums1.end());
return nums1;
}
};
int main() {
vector<int> nums1 = { 1,2,3,4,5,0,0,0,0 };
vector<int> nums2 = { 4,5,2,6 };
Solution s;
vector<int> nums3 = s.merge(nums1, 5, nums2, 4);
for (int i = 0; i < 9; i++)
{
cout << nums3[i] << endl;
}
}
merge没有返回值,不能直接输出
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Solution
{
public:
void merge(vector<int> &nums1, int m, vector<int> &nums2, int n)
{
for (int i = 0; i < n; ++i)
{
nums1.push_back(nums2.at(i)); //直接合并数组,然后开始排序
}
sort(nums1.begin(), nums1.end());
}
};
int main()
{
vector<int> nums1 = {1, 2, 3, 4, 5};
vector<int> nums2 = {4, 5, 2, 6};
Solution s;
s.merge(nums1, nums1.size(), nums2, nums2.size());
for(int i = 0;i < nums1.size();i++){
cout << nums1.at(i) << " ";
}
return 0;
}