![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 27.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Ogólnie chciałbym prosić Was o schemat rozwiązania do zadania TapeEquilibrium (to pierwsze zadanie na tej stronie) na https://codility.com/demo/train/ Czemu? Zrobiłem to zadanko, coś tam było źle. Wyniki wychodziły dobre ale wywalało jakiś błąd. Po naprawieniu go przeszło test ale wynik był 0/100. Stwierdziłem, zobacze jak trzeba to zrobić. Poszukałem po google i znalazłem kilka rozwiązań 100/100 (np. http://pastebin.com/eu0Szh9R tu) Jakież było moje zdziwienie, gdy po wrzuceniu tych rozwiązań, za KAŻDYM razem wywalało błąd. Po zmianie return z -1 na 1 przechodziło test pomyślnie ale wynik dalej był 0/100 Czy mógłby ktoś podać mi rozwiązanie do tego zadania tak by było 100/100 ? Jeśli będę miał rozwiązanie do tego zadania to i z resztą sobie poradzę. Pozdrawiam i dziękuję za pomoc ok znalazłem błąd (przeoczyłem JAKĄ wartość ma zwracać funkcja). 41 of 100. Teraz tylko zoptymalizować. Jakby komuś chciało się napisać rozwiązanie - byłoby fajnie, jeśli nie - luzik. Grunt, że znalazłem kluczowy błąd (IMG:style_emoticons/default/wink.gif) Ten post edytował mam_problem 27.01.2014, 10:26:10 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Troszkę po czasie ale chyba lepiej odkopać niż tworzyć nowy temat. Moje rozwiązanie ma 91/100. Orientuje się ktoś jak rozwiązać problem z małymi elementami? Analogiczne rozwiązanie w Java oraz C# daje 100/100.
https://codility.com/demo/results/demoYDY35C-8AX/ <-- link do mojego rozwiązania. Kombinowałem już z int'ami, ale bez skutku. Co do zaprezentowanego przez ciebie przykładu rozwiązania to dotyczy on zadania "Equi" a nie "TapeEquilibrium". |
|
|
--Janusz-- |
![]()
Post
#3
|
Goście ![]() |
Rozwiązanie jest dość proste, tutaj mój kod 100/100 z nr lini, trzeba je wyciąć.
int solution(int A[], int N) { 02. int suma=0, lewa=0, prawa=0,i,min=99999, roznica; 03. for(i=0;i<N;++i) 04. {suma+=A[i]; 05. 06. } 07. 08. for(i=1;i<N;++i) 09. {lewa+=A[i-1]; 10. prawa=suma-lewa; 11. roznica=abs(lewa-prawa) ; 12. 13. 14. 15. if (roznica<min) 16. {min=roznica; } 17. } 18. 19. return min; 20. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 04:19 |