Exemplo n.º 1
0
        public Sequence SearchLongestSequenceOfEqualNumbers(List<int> numbers,Sequence sequence)
        {
            int length = 1;
            int number = numbers[0];
            sequence.EqualNumber = numbers[0];
            sequence.Length = 1;
            for (int i = 1; i < numbers.Count; i++)
            {
                if (numbers[i] == numbers[i - 1])
                {
                    length++;
                }

                if (numbers[i] != numbers[i - 1] && length > sequence.Length)
                {
                    sequence.Length = length;
                    sequence.EqualNumber = numbers[i - 1];
                    length = 1;
                }

                if (length >= sequence.Length &&
                    numbers[i] == numbers[i - 1] &&
                    i == numbers.Count - 1)
                {
                    sequence.EqualNumber = numbers[i];
                    sequence.Length = length;
                    length = 1;
                }
            }

            return sequence;
        }
 public void TestSearcherToCountThreNumbersAndValue()
 {
     List<int> numbers = new List<int>();
     numbers = new List<int> { 0, 0, 0 };
     Sequence sequence = new Sequence();
     Searcher searcher = new Searcher();
     sequence = searcher.SearchLongestSequenceOfEqualNumbers(numbers, sequence);
     Assert.AreEqual(sequence.Length, 3);
     Assert.AreEqual(sequence.EqualNumber, 0);
 }
 public void TestSearcherToCountThreeEqualNumbersAtTheBeginingAndReturnRightValue()
 {
     List<int> numbers = new List<int>();
     numbers = new List<int> {2, 2, 2, 3, -2, -1, -1 };
     Sequence sequence = new Sequence();
     Searcher searcher = new Searcher();
     sequence = searcher.SearchLongestSequenceOfEqualNumbers(numbers, sequence);
     Assert.AreEqual(sequence.Length, 3);
     Assert.AreEqual(sequence.EqualNumber, 2);
 }
 public void TestSearcherToCountOneNumbersAndReturnRightValue()
 {
     List<int> numbers = new List<int>();
     numbers = new List<int> { 2 };
     Sequence sequence = new Sequence();
     Searcher searcher = new Searcher();
     sequence = searcher.SearchLongestSequenceOfEqualNumbers(numbers, sequence);
     Assert.AreEqual(sequence.Length, 1);
     Assert.AreEqual(sequence.EqualNumber, 2);
 }
 public static void Main()
 {
     List<int> numbers = new List<int>();
     numbers = new List<int> { 2, 3, -2, -1, -1 };
     // numbers = new List<int> { 2, 3, -2, -2, -2, -1, -1 };
     // numbers = new List<int> { 2, 3, -2, -1};
     // numbers = new List<int> { 2 };
     // numbers = new List<int> { 2, 2, 2, 3, -2, -1, -1 };
     // EnterNumbers(numbers);
     Sequence sequence = new Sequence();
     Searcher searcher = new Searcher();
     sequence = searcher.SearchLongestSequenceOfEqualNumbers(numbers, sequence);
     PrintSequence(sequence.EqualNumber, sequence.Length);
 }