Loading...
Dianov avatar Dianov 13 Точки

C# Advanced (1. Basic Stack Operations)

Здравейте, колеги! Някой има ли представа защо един от тестовете не минава и дава 80/100 точки? От 1 час мъча всякакви входове и output-a e верен, но Judge ми се заяжда за един от тестовете. Благодаря предварително на всички отзовали се за отделеното време!

Pastebin -> https://pastebin.com/cmXVJhW6

 

0
C# Advanced 21/11/2021 17:56:26
Dianov:
Problem solved.
icowwww avatar icowwww 2224 Точки
Best Answer

Здравей,

Когато търсиш дали елемента го има или проверяваш дали е с най-малко стойност:

 if (stackOfNumbers.Peek() <= smallestNumberInStack)
                        {
                            smallestNumberInStack = stackOfNumbers.Peek();
                            stackOfNumbers.Pop();
                            i--;
                        }

Само в случай, че елемент равен или по-малък от smallestNumberInStack махаш елемента и намаляваш итератора.

Обаче ако елемента не е такъв не го махаш. Съответно при следваща итерация проверките ти с Peek са невалидни, защото първия елемент си е все същия.

Затова винаги премахвай елемента.

https://pastebin.com/jhhxA43m

 

От друга страна има методи да намериш дали елемента съществува и да намериш най-малкия елемент:

stackOfNumbers.Contains(commands[2]);

stackOfNumbers.Min();

0
24/11/2021 19:58:36
Dianov avatar Dianov 13 Точки

Благодаря!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.