Loading...
Chetiov avatar Chetiov 5 Точки

4. Ununion Lists

Привет. Моля за помощ при решението на следната задачка. Нещо съм блокирал и не мога да измисля как да я реша.

Ето и условието:

You will be given a sequence of integers, separated by a space. This is the primal list. Then you will receive an integer N. On the next N lines, you will receive sequences of integers. Your task is to add all elements that the primal list does not contain from the current sequence to the primal list and then remove from the primal list, all elements which are contained in the current sequence of integers. If there are several occurrences, remove all occurrences you find.

After you are done receiving lists and manipulating the primal list, sort the primal list and print it.

Пример:

 

Тагове:
0
Programming Fundamentals
RoYaL avatar RoYaL Trainer 6849 Точки

От каква помощ точно се нуждаеш? Какво си опитал до момента и какво не се получава?

0
Chetiov avatar Chetiov 5 Точки

Ами в общи линии съм до под крушата в момента. Не мога да измисля как да премахна повтарящите се елементи. четох за някакъв метод intersect но не го разбирам и не знам как да го иползвам. За това моля за някакво примерно решение за да се насоча.

 

Eто един безсмислен код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _0704._1UnunionLists
{
    class Program
    {
        static void Main(string[] args)
        {
            var primalList = Console.ReadLine()
                .Split()
                .Select(int.Parse)
                .ToList();
            var numberOfLines = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfLines; i++)
            {
                var sequenceList = Console.ReadLine()
                .Split()
                .Select(int.Parse)
                .ToList();


                //foreach (var containElement in primalList.Intersect(sequenceList))
                //{
                //    primalList.Remove(containElement);
                //}

                primalList.AddRange(sequenceList);
             
            }

            primalList.Sort();
            Console.WriteLine(string.Join(" ", primalList));

        }
    }
}

 

0
rosen.ivanov avatar rosen.ivanov 130 Точки

http://pastebin.com/N4aKCm5m - Ето ти моето решение.

Във "for" цикъл с "RemoveAll" премахвам всички елементи на настоящия лист, които се съдържат в първоначалния.

0
23/02/2017 17:56:01
spzvtbg avatar spzvtbg 581 Точки

пробваи вместо да зануляваш 

к --;

j--;  за да си спестиш няколко завъртания

 

а самите листове с дистинкт да ги подаваш на нови с уникални числа

и не проверяваш дали самите листове несъдържат повтарящи се числа

 

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