链接:
2605. 从两个数字数组里生成最小数字
题意:
两个数组都只包含1-9的数字,求一个最小数,两个数组内都要有它的其中一位
解:
要么是个位数要么是十位数,存一下数量和两边的最小数即可
实际代码:
#include<bits/stdc++.h>
using namespace std;
int minNumber(vector<int>& nums1, vector<int>& nums2)
{short book[10];for(auto& b:book) b=0;int min1=INT_MAX,min2=INT_MAX;for(auto num:nums1) { book[num]++;min1=min(min1,num); }for(auto num:nums2) { book[num]++;min2=min(min2,num); }for(int i=1;i<=9;i++) if(book[i]>=2) return i;return min(min1,min2)*10+max(min1,min2);
}
int main()
{int a,b,num;cin>>a>>b;vector<int> nums1, vector<int> nums2;while(a--){cin>>num;nums1.push_back(num);}while(b--){cin>>num;nums2.push_back(num);}int ans=minNumber(num1,num2);cout<<ans<<endl;return 0;
}
限制:
1 <= nums1.length, nums2.length <= 9
1 <= nums1[i], nums2[i] <= 9
- 每个数组中,元素 互不相同 。