35 lines
957 B
Kotlin
Vendored
35 lines
957 B
Kotlin
Vendored
// IGNORE_BACKEND: JS_IR
|
|
// IGNORE_BACKEND: JS_IR_ES6
|
|
// TODO: muted automatically, investigate should it be ran for JS or not
|
|
// IGNORE_BACKEND: JS
|
|
// WITH_STDLIB
|
|
|
|
enum class E {
|
|
VALUE,
|
|
VALUE2
|
|
}
|
|
|
|
class C(val nums: Map<E, Int>) {
|
|
val normalizedNums = loadNormalizedNums()
|
|
|
|
private fun loadNormalizedNums(): Map<E, Float> {
|
|
val vals = nums.values
|
|
val min = vals.minOrNull()!!
|
|
val max = vals.maxOrNull()!!
|
|
val rangeDiff = (max - min).toFloat()
|
|
val normalizedNums = nums.map { kvp ->
|
|
val (e, num) = kvp
|
|
//val e = kvp.key
|
|
//val num = kvp.value
|
|
val normalized = (num - min) / rangeDiff
|
|
Pair(e, normalized)
|
|
}.toMap()
|
|
return normalizedNums
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
val res = C(hashMapOf(E.VALUE to 11, E.VALUE2 to 12)).normalizedNums.values.sorted().joinToString()
|
|
return if ("0.0, 1.0" == res) "OK" else "fail $res"
|
|
}
|