Skip to content

Commit 264beb3

Browse files
add 2094 alternative solution
1 parent 07c5469 commit 264beb3

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

contest/src/main/java/com/github/contest/Execute.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.github.contest
22

33

4-
import com.github.contest.array.findEvenNumbers
4+
import com.github.contest.hashTable.findEvenNumbersAlternativeSolution
55
import com.github.contest.math.numberOfPowerfulInt
66
import com.github.contest.slidingWindow.longestDupSubstring
77
import com.github.contest.strings.fullJustify
@@ -15,7 +15,7 @@ import java.util.TreeMap
1515

1616
fun main() {
1717

18-
findEvenNumbers(intArrayOf(2, 2, 8, 8, 2)).also { it.printArray() }
18+
findEvenNumbersAlternativeSolution(intArrayOf(1, 2, 3)).also { it.printArray() }
1919
}
2020

2121
fun longestDupSubStringTest() {

contest/src/main/java/com/github/contest/hashTable/HashTableAlternativeSolution.kt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,34 @@ fun countGoodAlternativeSolution(nums: IntArray, k: Int): Long {
8484
}
8585

8686
return count
87+
}
88+
89+
/**
90+
* 2094. Finding 3-Digit Even Numbers
91+
*/
92+
93+
fun findEvenNumbersAlternativeSolution(digits: IntArray): IntArray {
94+
val freq = IntArray(10)
95+
digits.forEach { freq[it]++ }
96+
97+
val result = mutableListOf<Int>()
98+
99+
for (h in 1..9) {
100+
if (freq[h] == 0) continue
101+
102+
for (t in 0..9) {
103+
if (freq[t] == 0 || (t == h && freq[t] < 2)) continue
104+
105+
for (u in 0..8 step 2) {
106+
if (freq[u] == 0) continue
107+
if (u == h && u == t && freq[u] < 3) continue
108+
if (u == h && freq[u] < 2) continue
109+
if (u == t && freq[u] < 2) continue
110+
111+
result.add(h * 100 + t * 10 + u)
112+
}
113+
}
114+
}
115+
116+
return result.sorted().toIntArray()
87117
}

0 commit comments

Comments
 (0)