Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Такива решения ми харесват. Още не мога да ги измислям обаче. Мерси :)
Здравейте колеги, ето и едно не чак толкова обемно решение https://pastebin.com/TjeqFYgQ с един for цикъл в while цикъла и три if/else проверки:
1) if (bestCurrentLengthOfOne > bestLengthDNA);
2) else if (bestCurrentLengthOfOne == bestLengthDNA)
а) if (currentENDIndex < bestENDIndex)
б) else if (currentENDIndex == bestENDIndex)
if (currentSum > bestDNASum
Използвам for цикъл до i < currentDNA.Length - 1 (без последния елемент, че иначе се чупи) за да намеря най-дългата поредица от еденици в текущата DNA секвенция: ако два елемента са еднакви ще увеличавам counter, но ако са различни ще го сетвам отново на 1. Умишлено не съм използвала формулата за намиране на startIndex, защото дори и само с еndIndex при положение, че дължината на две DNA са еднакви, програмата се ориентира коя секвенция е по- наляво.( еndIndex<bestEndIndex).
Разгледах кодове на колеги, които все още не са 100/100. Направи ми впечатление различните места на деклариране на променливите- в и извън while цикъла, както и сетването на различни стойности на първоначалните променливи. След тестванията, които направих мисля, че е достатъчно само дължината на текущата DNA секвенция от еденици да е 1, а всички други променливи да се сетват примерно на 0.
И предполагам, че в while цикъла трябва да се сетнат само следните променливи, че при всяка нова DNA да се рестартират:
int currentLengthOfOne = 1;
int bestCurrentLengthOfOne = 0;
int currentENDIndex = 0;
int currentSum = 0;
А извън while цикъла са тези променливи, които не трябва да се рестартират при всяко изпълнение на цикъла. Тях ще ги рестартираме само след като направим трите проверки накрая и установим коя е най-добрата DNA секвенция от всичките текущи:
int bestLengthDNA = 0;
int bestENDIndex = 0;
int bestDNASum = 0;
int currentDNACounter = 0;
int bestDNACounter = 0;
int[] bestDNA = new int [n];
И нещото, което аз обърках на няколко пъти беше, че не приравнявах правилно масивите от DNA секвенции:
bestDNA = currentDNA.ToArray();
И споделям едно 30 min видео на Саня Касърова, което е специално за задачата "Camino factory", ако все още някой се затруднява с нея. Видеото е найстина много добро и всичко е обяснено много чисто и ясно.
https://softuni.bg/trainings/resources/video/50372/%D0%B4%D0%BE%D0%BF%D1%8A%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D0%BD%D0%BE-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-09-kamino-factory-%D1%81%D0%B0%D0%BD%D1%8F-%D0%BA%D0%B0%D1%81%D1%8A%D1%80%D0%BE%D0%B2%D0%B0-csharp-fundamentals-may-2020/2830
I just joined the forum so there are so many things I don’t know yet, I hope to have the help of the boards, and I really want to get to know you all on the forum run 3
Огромно Благодаря за линка към видеото! Изключително ясно обяснение и лесно решение на иначе изглеждащата доста трудна задача. Бях я докарала до 60/100, но сега вече всичко е по-ясно.