题解 | #整型数组合并#
整型数组合并
https://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b
#include <bits/stdc++.h> using namespace std; void process(vector<int> nums1, vector<int> nums2, vector<int>& res){ int m = nums1.size(), n = nums2.size(); int i = 0, j = 0; while(i < m || j < n){ if(j == n){ res.push_back(nums1[i++]); } else if(i == m){ res.push_back(nums2[j++]); } else if(nums1[i] < nums2[j]){ res.push_back(nums1[i++]); } else if(nums1[i] > nums2[j]){ res.push_back(nums2[j++]); } else{ res.push_back(nums1[i]); i++; j++; } } sort(res.begin(), res.end()); /*for(int i = 0; i < res.size(); i++){ cout << res[i]; }*/ } int main(){ /*法一 int m = 0; cin >> m; vector<int> nums1; for(int i = 0; i < m; i++){ int tmp = 0; cin >> tmp; nums1.push_back(tmp); } int n = 0; cin >> n; vector<int> nums2; for(int i = 0; i < n; i++){ int tmp = 0; cin >> tmp; nums2.push_back(tmp); } vector<int> res; process(nums1, nums2, res); set<int> st; //使用set存,set有自动排序的特性,且不允许有重复元素 for(int i = 0; i < res.size(); i++){ st.insert(res[i]); } for(auto iter = st.begin(); iter != st.end(); iter++){ cout << *iter; } */ //法二 int m,n; set<int> gather; //使用set存,set有自动排序的特性,且不允许有重复元素 while(cin>>m){ int num1,num2; for(int i=0;i<m;i++){ cin>>num1; gather.insert(num1); } cin>>n; for(int i=0;i<n;i++){ cin>>num2; gather.insert(num2); } for(auto it=gather.begin();it!=gather.end();it++){ cout<<*it; } } return 0; }
华为题库题解 文章被收录于专栏
牛客华为题库的题解