Tempo de leitura: menos de 1 minuto
Olá pessoal, como prometido, hoje é dia de publicar o resultado do CodeKata #1: Encontre a sequência.
Na primeira edição tivemos apenas dois leitores que responderam ao teste. São eles:
- Rafael;
- Darian.
Desde já agradeço vocês pela participação.
Avaliação dos resultados
Nesse primeiro CodeKata, foi avaliado apenas se o algoritmo estava correto, ou seja, quantos cenários ficaram verdes.
Foram criados 15 cenários para validar a “Direta” e 15 para a “Reversa“.
Abaixo segue resultado dos participantes:

Falhas de execução dos cenários para a implementação do Darian:
[code language=”java”]
Cenário 1: Falha reversa. Esperado (7), mas retornado (3)
Cenário 3: Falha reversa. Esperado (1), mas retornado (2)
Cenário 5: Falha reversa. Esperado (5), mas retornado (1)
Cenário 6: Falha reversa. Esperado (12;16), mas retornado (23;27)
Cenário 7: Falha reversa. Esperado (36), mas retornado (1)
Cenário 8: Falha reversa. Esperado (3;6;12;13;16;21;22;28), mas retornado (4;10;11;16;19;20;26;29)
Cenário 10: Falha reversa. Esperado (627;876;903;1007;1246;1729;2134;2597;3025;3557;3608;3748;4175;4551;4558;4730;4770), mas retornado (228;268;440;447;823;1250;1390;1441;1973;2401;2864;3269;3752;3991;4095;4122;4371)
Cenário 11: Falha direta. Esperado (11;14;17;20;23;26;29;32;35;38;41;44;47;50;53;56;59;62;65;68;71;74;77;80;83;86;89;92;95;98;101;104;107;110), mas retornado (11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111)
Cenário 11: Falha reversa. Esperado (11;14;17;20;23;26;29;32;35;38;41;44;47;50;53;56;59;62;65;68;71;74;77;80;83;86;89;92;95;98;101;104;107;110), mas retornado (1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101)
Cenário 12: Falha reversa. Esperado (5), mas retornado (18)
[/code]
Falhas de execução dos cenários para a implementação do Rafael:
[code language=”java”]
Cenário 1: Falha reversa. Esperado (7), mas retornado (7;8)
Cenário 6: Falha direta. Esperado (5;11;13;25), mas retornado (5;6;11;13;25;35;36)
Cenário 6: Falha reversa. Esperado (12;16), mas retornado (12;16;17)
Cenário 7: Falha reversa. Esperado (36), mas retornado ()
Cenário 10: Falha direta. Esperado (24;60;118;312;422;915;1006;1245;1506;1754;2600;2728;3386;3708;4424;4557;4769), mas retornado (24;25;27;60;61;71;97;111;118;119;128;130;131;160;197;287;312;313;322;354;422;498;517;558;694;733;767;768;795;798;803;804;844;902;915;916;920;921;956;1006;1018;1048;1049;1071;1112;1114;1162;1205;1208;1245;1259;1300;1310;1320;1332;1436;1447;1506;1527;1613;1615;1616;1679;1690;1691;1693;1715;1718;1726;1754;1755;1873;1905;1906;1908;2010;2012;2014;2076;2117;2119;2120;2131;2152;2153;2172;2185;2213;2219;2366;2368;2422;2510;2516;2526;2528;2549;2554;2600;2688;2728;2785;2817;2939;2948;2965;3039;3041;3042;3098;3113;3193;3248;3370;3386;3484;3487;3506;3511;3514;3537;3551;3556;3604;3607;3664;3703;3708;3761;3864;3919;3991;4055;4077;4112;4174;4190;4205;4215;4221;4231;4281;4342;4416;4424;4425;4427;4557;4637;4662;4729;4769)
Cenário 10: Falha reversa. Esperado (627;876;903;1007;1246;1729;2134;2597;3025;3557;3608;3748;4175;4551;4558;4730;4770), mas retornado (7;28;46;73;82;101;104;193;217;234;361;399;402;417;482;518;543;576;599;627;687;751;769;778;787;792;835;838;855;876;890;903;922;939;948;958;999;1007;1124;1146;1242;1246;1306;1344;1347;1357;1376;1414;1450;1490;1503;1515;1583;1618;1624;1629;1711;1729;1757;1850;1854;1862;1869;1909;1949;1986;1993;2006;2022;2036;2102;2134;2174;2239;2242;2245;2250;2330;2358;2405;2417;2441;2507;2597;2654;2705;2731;2788;2819;2864;2895;2924;2927;2990;3020;3025;3033;3067;3179;3223;3232;3271;3298;3312;3348;3462;3468;3478;3548;3557;3608;3631;3700;3723;3736;3748;3752;3764;3798;3804;3814;3840;3856;3859;3909;3941;3963;3985;4073;4109;4117;4121;4125;4152;4175;4242;4266;4296;4300;4361;4373;4453;4469;4551;4558;4610;4695;4700;4730;4770;4856;4859;4995)
Cenário 11: Falha direta. Esperado (11;14;17;20;23;26;29;32;35;38;41;44;47;50;53;56;59;62;65;68;71;74;77;80;83;86;89;92;95;98;101;104;107;110), mas retornado (11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111)
Cenário 11: Falha reversa. Esperado (11;14;17;20;23;26;29;32;35;38;41;44;47;50;53;56;59;62;65;68;71;74;77;80;83;86;89;92;95;98;101;104;107;110), mas retornado ()
[/code]
Conclusão
Parabéns Rafael, você foi o melhor no desafio! No entanto o código do Darian, é mais performático, mas isso não foi avaliado.
Para o próximo desafio, vou tentar melhorar a descrição do problema, pois alguns erro na implementação, foi causado pelas dúvidas na descrição. Um exemplo disso, foi não deixar claro que a variável p, que deveria ser revertida, não a t. Isso causou o erro na implementação do Darian, desculpa aí!
Para quem tiver interesse, disponibilizei no Github as implementações junto com os cenários de teste.
Valeu pessoal, até o próximo Code Kata!

Link permanente