Loading...
penkov avatar penkov 110 Точки

[Homework] Advanced C# - Arrays, Lists, Stacks, Queues - Решение на задача 4

Здравейте колеги, 

Искам да Ви предложа едно решение на задача 4 от домашното. Според мен е някакво такова сглобено, но с учудване установих, че работи. Ще е добре да разгледам и други решения, защото не мисля че това е най-доброто!

int i;
string[] inputString = Console.ReadLine().Split(' ');
for (i = 0; i < inputString.Length-1; i++)
{
    if (inputString[i] == inputString[i + 1])
    {
        Console.Write("{0} ", inputString[i]);
    }
    else
    {
         Console.WriteLine("{0}", inputString[i]);
    }
}
Console.WriteLine("{0}", inputString[i]);

Поздрави!!!

Тагове:
1
C# Advanced 15/09/2015 18:39:40
stefkay avatar stefkay 54 Точки

Здрасти, решението ти работи с примерите от условието, но ако му подадеш  "hi yes yes hi", ще имаш резултат: 

hi hi

yes yes

a hi hi не е поредица. Същото е като да я решиш с dictionary.

Аз я реших със string, но ми се ще да я преработя с List<List<string>>, където после ще мога да извадя и най-дългата поредица.

Решение със string

Edit: Решение с List<List<string>>

 

0
16/09/2015 15:53:12
nikolaykk avatar nikolaykk 94 Точки

Здравей,

Не бях изчел цялото условие. Но вече съм си я поправил.

Благодаря!

Ето решението: http://pastebin.com/GysNtrQk

2
cap7ainjack avatar cap7ainjack 20 Точки

Здрасти! 

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

Има дефект, но идеята се разбита (При input "8 9 9 9 10" - показва че най-дългата поредица е  9 9 9, но ако добавя още числа ги показва и тях), не съм го хванал още

using System;
using System.Collections.Generic;
                    
   
 string[] input = Console.ReadLine().Split(' ');
            
        int temp = 0;
        int longest=0;
        List<string> list = new List<string>();
        int counter = 0;
        
        int count = 0;
        for (int i = 0; i < input.Length - 1; i++)
        {
            if (input[i] == input[i + 1])
            {
                Console.Write(input[i] + " ");
                temp++;
            }
            else
            {
                Console.WriteLine(input[i] + " ");
            }
            count = i;
            
            if (temp > longest)
            {
                longest = temp;
                list.Clear();
                temp = 0;
                counter = i;                
                
            }           
            
                for (int j=0; j<longest; j++)
                {
                     
                    list.Add(input[counter]);
                    counter++;
                }
        }        

        Console.WriteLine(input[count +1]);
        Console.WriteLine("Longest: ");
        
        foreach (string cat in list)
        {
            Console.Write(cat + " ");
        }
 

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