一、获取题干
有段时间没做题了,今天正好碰到一道简单题,逻辑并不复杂,有时间的话可以尝试上手一下。
题目链接附在文末。
二、分析
从题目上看,这两个数组有可能生成的最小数字未必是两位数,当某个数字同时存在于两个数组中时,这个个位数的数字也算作这两个数组生成的数字。
根据这样的逻辑,我们可以按以下两种办法来搜索结果,因为给定的数据量非常的小,完全可以暴力搜索:
1. 判断两个数组中是否存在相同元素,如果存在,应该取这些相同元素中最小值为答案。
2. 如果不存在情况 1.,为了保证两个数组都至少包含这个数字的某个数位,我们可以对两个数组从小到大做一次排序,从每个数组中取一个最小值用来拼凑成一个最小的组合数,即为答案。
三、题解
Js 题解
function minNumber(nums1: number[], nums2: number[]): number {
nums1.sort((a, b) => a - b)
nums2.sort((a, b) => a - b)
for (let i = 0; i < nums1.length; i++) {
if (nums2.includes(nums1[i])) {
return nums1[i]
}
}
return nums1[0] > nums2[0] ? nums2[0] * 10 + nums1[0] : nums1[0] * 10 + nums2[0]
};
END
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。