jestem uczestniczących w wielkim konkursie programowania jutro gdzie używam R.Skróty i funkcje w ramach przygotowań do konkursu programowania
Time jest głównym czynnikiem (tylko 2 godziny do 7 kodujących problemy). Problemy są bardzo związane z matematyką.
Chciałbym napisać "f" zamiast "funkcja", gdy zdefiniuję funkcję. To można zrobić i miałem kod, żeby to zrobić, ale zgubiłem go i nie mogę go znaleźć.
Gdzie mogę znaleźć funkcje sin() dla stopni wejściowych, a nie dla radianów?
(opcjonalnie) Czy istnieje widok algorytmu lub biblioteki określonego zadania.
Każda wskazówka do konkursu programistycznego?
przygotowałem następujące Ściągawka dla konkursu: http://pastebin.com/h5xDLhvg
======== EDIT: ==========
Więc ostatecznie mam czas na zapisanie moich lekcji.
Konkurs programistyczny był świetną zabawą, ale niestety nie zaliczyłem zbyt dobrze. Byłem w czołówce 50%, ale moim celem było osiągnięcie najwyższych 25%.
Głównym problemem było to, że było bardzo mało czasu na programowanie, zaledwie 2 godziny w sumie. Ale musiałem przeczytać opisy problemów, a także potrzebowałem trochę czasu, aby wkleić wyniki w formie internetowej itp., Więc było to bardziej jak 90 minut programowania.
Mam nadzieję, że następny konkurs w grudniu będzie dłuższy niż 3-4 godziny. Organizatorzy stwierdzili, że być może tak będzie.
Również na konkursie nie było dostępu do Internetu, a moja mobilna recepcja nie działała.
Główną lekcją dla mnie jest to, że musisz używać języka, który codziennie używasz, aby mieć prawdziwą szansę. Zwłaszcza, jeśli program ma tylko około 90 minut. Ponieważ używam haskell więcej niż R w mojej codziennej pracy, myślę, że R nie był najlepszym wyborem. Podczas zawodów wymieszałem definicje funkcji haskell i R, i stworzyłem zbyt wiele małych literówek, żeby programować wystarczająco szybko.
Co było wspaniałe w konkursie, to, że w sumie około 20 000 nagród pieniężnych w sumie dla około 80 uczestników. Tak więc 25% najlepszych uczestników otrzymało od 500 do 1500 dolarów. Co więcej, uważam, że 15% najlepszych od razu otrzymuje pracę od jednej z sponsorujących firm informatycznych.
To sytuacja korzystna dla wszystkich. Fajnie, a dodatkowo możesz zdobyć nagrodę pieniężną. Co więcej, firmy IT są bardziej niż zadowolone, ponieważ mają dostęp do najlepszych programistów.
Wykorzystałem okazję, aby porozmawiać z decydentami IT. Jeden z nich pochodził z większego banku. Odważnie zasugerowałem, aby rozważyli zmianę na Scalę (przełączanie z Javy). A także rozważyć użycie R i Haskell. Było fajnie, a oni nawet powiedzieli, że już zajrzeli do Scali!
Co ciekawe, jeden z moich najlepszych przyjaciół zdobył bardzo dobre wyniki w konkursie. Ma tylko 19 lat, ale był w najlepszej 20% i otrzymał 500 nagród pieniężnych. Pobił mnie i 6 moich kolegiów, z których wszyscy mają szacowny stopień informatyki. Moje programy znajomych bardziej przypominają styl hakerski, ale był bardzo szybki.
Ludzie w top 10 używanych: 1) Java 2) C# i 3) C++ (Żaden inny język programowania w top 10!). Jedynym innym językiem programowania, który zdobył dobre wyniki, był chyba Ruby.
Do następnego konkursu wybrany język programowania prawdopodobnie będzie haskell. Z jednej przyczyny łatwiej jest znaleźć 2 członków drużyny dla programu haskell niż dla programowania R. A maksymalnie 3 osoby mogą tworzyć zespół.
Mój idealny scenariusz byłby bardzo lekką strukturą, w której mogłem używać wielu języków programowania jednocześnie. W ten sposób główny kod może zostać napisany w haskell (do którego mogą dołączyć wszyscy członkowie zespołu). Niektóre specyficzne funkcje można zaprogramować w języku R lub w języku Mathematica, a nawet w innym języku programowania (np. Python/sage).
To brzmi trochę przesadnie. Ale myślę, że byłoby to bardzo przydatne. Podobnie jak funkcja, która ma macierz jako parametr i zwraca macierz. Następnie ta praca ramowa generuje automatycznie usługę RESTful z kodu R, więc mógłbym wywołać funkcję R z dowolnego języka programowania. Macierz jest przekazywana jako dane JSON (lub inna serializacja). Ok, ale to nie na temat ...
Więc wreszcie niektóre wnioski w postaci listy pocisku:
- nie przynoszą jedzenie. nie masz czasu na jedzenie, a potem jest bogaty bufet, potem czas jest czynnikiem ograniczającym czas!
- jeśli NIE programu R dla życia, nie używać R
- wygląd konkursach, gdzie jest więcej czasu (minimum hourss 3-4!)
- w sumie, koncepcję konkursu jest wspaniały! Zarówno dla uczestników, jak i sponsorów.
WIELKIE DZIĘKI pomocy "Iteratorowi" na jego stanowisko !!
Powodzenia w konkursie. Wygraj jeden dla R. :) – Iterator
Przykro mi to mówić, ale twoje pytanie nie pasuje do formatu wyjaśnionego w [faq] (http://stackoverflow.com/faq). W przyszłości podziel pytanie na wiele pytań, które będą podlegały odpowiedzialności jeden po drugim. I powodzenia dla ciebie. –
Zgadzam się z Jorisem. Co więcej, możesz uzyskać bardziej odpowiednie odpowiedzi, zamieszczając przykładowe pytania. Osobiście nie użyłbym R, jeśli problemy są bardzo matematyczne - jeśli system algebry komputerowej jest lepiej dopasowany, użyj go. (Np. Mathematica lub jej alternatywy open source.) – Iterator