Loading...
petarstoyanov98 avatar petarstoyanov98 47 Точки

Max Sequence of Equal Elements

Здравейте съфорумци, значи имам проблем със задачата Max Sequence of Equal Elements. Можете да си дръпнете условието от тук: https://softuni.bg/downloads/svn/soft-tech/May-2016/Programming-Fundamentals-May-2016/04.%20Programming-Fundamentals-Lists-and-Matrices/04.%20Programming-Fundamentals-Lists-and-Matrices-Exercises.docx

Като това е първата задача. 

Judge'а ми дава 85точки за това решение. Бих искал някой, ако може да го погледне и да ми каже къде греша. Отначало помислих, че ако сменя типа данни на long ще се оправи, но очевидно не там е грешката. Предполагам, че алгоритъмът ми не е верен(за някои от по - големите числа).

Ето го и моят код:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{

    static void Main()
    {
        var numbers = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        var counts = new int[numbers.Length + 1];
        int maxNumber = 0;
        int maxLen = 0;

        foreach (var num in numbers)
        {
            counts[num]++;
            if (counts[num] > maxLen)
            {
                maxNumber = num;
                maxLen = counts[num];
            }
        }
        var seq = new int[maxLen];
        int firstN = Array.IndexOf(numbers, maxNumber);

        for (int i = 0; i < numbers.Length; i++)
        {
            if (i == firstN)
            {
                for (int j = 0; j < maxLen; j++)
                {
                    seq[j] = numbers[i];
                }
                break;
            }

        }
        Console.WriteLine(string.Join(" ", seq));
    }
}

 

Тагове:
1
Fundamentals Module 15/09/2016 23:16:20
Innos avatar Innos 419 Точки
Best Answer

Не е задължително всички редици да са от уникални цифри, вземи следният вход примерно:
2 2 3 3 3 2 2 2
Отговора тук е редицата 3 3 3, защото имаме 2 най-дълги редици, от които 3 3 3 е най-лявата. Твоята програма обаче брои общият брой пъти които се среща цифра, без значение дали са последователни или не и съответно ще каже че отговорът е редицата 2 2 2 2 2, която реално не съществува.

0
30/08/2016 01:46:34
WifiAvivi avatar WifiAvivi 151 Точки

Ако някой изкарва 85 от 100 и проблема му е в 4-тия тест, да тества програмата си с:

1 2 3 4

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