Sliding Window úloha z dcoder.tech

Gxibulo

Sliding Window úloha z dcoder.tech
« kdy: 01. 12. 2018, 08:26:46 »
Zdravím,
zkusil jsem si "zKotlinovat" tuhle úlohu: https://code.dcoder.tech/question/5b1bd177d9432b981bd826d1
a pro dva testCase mi to nevychází. Otestoval jsem různé krajní případy... podle mého pochopení zadání je to OK, podle testovače ne. Možná Vás někoho napadne, kde dělám chybu...?

Kód: [Vybrat]
data class State(val road: List<Int>, val place: Int,val howFarToSee: Int)

fun howManyISee(myState: State): Int {
    val howFar: Int = myState.place + myState.howFarToSee
    if (myState.road.size < howFar) return -1
    val view: List<Int> = myState.road.subList(myState.place, howFar)
    return view.toSet().size
}


fun main(args: Array<String>) {
    val nCases: Int = readLine()!!.toInt()
    for (i in 1..nCases) {
        val howFarWeSee: Int = readLine()!!.split(" ").map {el -> el.toInt()}.last()
        val road: List<Int> = readLine()!!.split(" ").map{el -> el.toInt()}
        val listForRestult: List<Int> = List<Int>(road.size - howFarWeSee + 1 ){it}
        val result: List<Int> = listForRestult.map{position -> howManyISee(State(road, position, howFarWeSee ))}
        println(result.joinToString(" "))
    }
}


Re:Sliding Window úloha z dcoder.tech
« Odpověď #1 kdy: 01. 12. 2018, 09:05:19 »
Nevidim ta m, ze by se ti ten groot pohyboval.
Mozna taky bude problem v tom ignorovani delky silnice. Treba se ma osetrovat nevalidni vstup.

Gxibulo

Re:Sliding Window úloha z dcoder.tech
« Odpověď #2 kdy: 01. 12. 2018, 10:23:20 »
Nevidim ta m, ze by se ti ten groot pohyboval.
Mozna taky bude problem v tom ignorovani delky silnice. Treba se ma osetrovat nevalidni vstup.

Díky moc za snahu. Taky mě to napadlo, jenže v tom zadání mají omezenej vstup:

Constraint
1<=T<=10
1<=N<=100
1<=M<=N.


Tak mi to přišlo zbytečné testovat... Řekl bych si, že to je blbě testované, ale přes 60 lidí to zvládlo.

Re:Sliding Window úloha z dcoder.tech
« Odpověď #3 kdy: 01. 12. 2018, 10:27:56 »
Ok. Ale co tan pohyb vpred?

Re:Sliding Window úloha z dcoder.tech
« Odpověď #4 kdy: 01. 12. 2018, 10:31:05 »
Ok. Ale co tan pohyb vpred?
Ah. Uz to vidim. Na telefonu se to spatne cte.