2023-09-05力扣每日一题

链接:

2605. 从两个数字数组里生成最小数字

题意:

两个数组都只包含1-9的数字,求一个最小数,两个数组内都要有它的其中一位

解:

要么是个位数要么是十位数,存一下数量和两边的最小数即可

实际代码:

#include
using namespace std;
int minNumber(vector& nums1, vector& 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 nums1, vector nums2;
	while(a--)
	{
		cin>>num;
		nums1.push_back(num);
	}
	while(b--)
	{
		cin>>num;
		nums2.push_back(num);
	}
	int ans=minNumber(num1,num2);
	cout<

限制:

  • 1 <= nums1.length, nums2.length <= 9
  • 1 <= nums1[i], nums2[i] <= 9
  • 每个数组中,元素 互不相同

你可能感兴趣的:(力扣每日一题,leetcode)