C# Advanced Exam - 14 October 2018 Помощ за задача с масиви c# Fundamentals
Здравейте Колеги , може ли малко насока как да довърша задача с матрици от изпита C# Advanced Exam - 14 October 2018
ето моят код : 03. Miner https://pastebin.com/fuF0S25C
тука е условието https://judge.softuni.bg/Contests/Practice/Index/1289#2 C# Advanced Exam - 14 October 2018
хубаво решение , но какво е Tuple и Hash Set
Ами учат се по-нататък по принцип. В tuple по принцип можеш да държиш от 1 до 8 типа данни, tuple<T1> - tuple<T1, T2, T3,...T8>. Като не е задължително да са един тип. Примерно можеш да имаш tuple<string, int, bool>. За задачата съм ползвал tuple<int, int> за да пазя координатите на въглищата(въобще при матрици това мисля е най-удобния вариант да пазиш координати). https://www.dotnetperls.com/tuple тук е обяснено. Hashset от друга страна е нещо като лист, но няма подреждане, не се знае кое къде е(в случая не ми пука кое къде е, интересува ме има ли го вътре). Също така може да съдържа само уникални елементи, без повторения. Много бърз е. Добър избор за съхранение на координатите на въглищата(няма повторение на tuple<int, int>, в които ги пазя). И така, вадя координатите на въглищата в хешсета с тупъли, после в самата програма при всеки ход си правя един нов тупъл с настоящите координати, проверявам дали хешсета с координатите на въглищата съдържа такъв тупъл, и ако го има го махам от хешсета(събрал съм въглищата на тези координати). Не знам до колко добре го обясних, из нета можеш да намериш информация и за 2-те. Или в стара инстанция на C# Advanced.
Те промениха tuples как работят препоръчват вече value tuples да си полвват.
И че се решава и по друг начин е ок. Но но почти всяко интервю има матрица или някакви многоизмерни масиви,та колегата да се помъчи малко. Не е толкова сложно,а ще му е полезно за после.
Така е, на мен лично курсовете за алгоритми ми помогнаха да схвана матриците. Дори самото решение с tuple и хешсет, което ползвах, е от една от лекциите. https://pastebin.com/n9g1nG0b ето това беше задачата(използваха го за да запазят пътя, но след като изгледах лекцията за зачетох за тупъл и хешсета). Относно промените-нямах си на идея, в момента съм на вълна бази данни и SQL :) Ще трябва пак да чета явно.