-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDAY0051.cpp
More file actions
24 lines (24 loc) · 905 Bytes
/
DAY0051.cpp
File metadata and controls
24 lines (24 loc) · 905 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 2094. Finding 3-Digit Even Numbers
class Solution {
public:
vector<int> findEvenNumbers(vector<int>& digits) {
vector<int>answer;
int hashtable[10]={0};
for(int i=0;i<digits.size();i++){
hashtable[digits[i]]++;
}
if (hashtable[0]+hashtable[2]+hashtable[4]+hashtable[6]+hashtable[8]==0) return answer;
for(int i=1;i<10;i++){
for(int j=0;j<10&&hashtable[i]>=1;j++){
if((i!=j&&hashtable[j]>=1)||(i==j&&hashtable[j]>=2)){
for(int k=0;k<9;k+=2){
hashtable[i]--,hashtable[j]--,hashtable[k]--;
if(hashtable[i]>=0&&hashtable[j]>=0&&hashtable[k]>=0) answer.push_back(i*100+j*10+k);
hashtable[i]++,hashtable[j]++,hashtable[k]++;
}
}
}
}
return answer;
}
};