解题思路:
首先由于规定了目标数是三位数,且是偶数,那么我们只需要遍历所有的三位数偶数观察是否各位不等且在digits中即可,但是实现起来有些麻烦。第二种方法是暴力搜索,直接每个位数进行寻找,组装拼凑即可,代码如下:
class Solution {
public:
vector<int> findEvenNumbers(vector<int>& digits) {
map<int, int> mp; // 目标偶数集合
int n = digits.size();
for(int i = 0; i < n; i ++) {
for(int j = 0; j < n; j ++) {
for(int k = 0; k < n; k ++) {
if(i == j || i == k || j == k) {
continue;
}
if(digits[i] != 0 && digits[k] % 2 == 0) {
mp[digits[i] * 100 + digits[j] * 10 + digits[k]] = 1;
}
}
}
}
vector<int> res;
for(auto [a, b] : mp) {
res.push_back(a);
}
return res;
}
};