链接:
题意:
两个数组都只包含1-9的数字,求一个最小数,两个数组内都要有它的其中一位
解:
要么是个位数要么是十位数,存一下数量和两边的最小数即可
实际代码:
c++
#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
- 每个数组中,元素 互不相同 。