Loading...
ddzhenezov avatar ddzhenezov 0 Точки

Въпрос за задача 7. Merging Lists

Здравейте , 

не мога да се справя с тази задача и като цяло нямам идея как да подходя ако може някой да помогне ще съм благодарен ! 

You are going to receive two lists with numbers. Create a result list which contains the numbers from
both of the lists. The first element should be from the first list, the second from the second list and so
on. If the length of the two lists are not equal, just add the remaining elements at the end of the list.
Example
Input

3 5 2 43 12 3 54 10 23
76 5 34 2 4 12

3 76 5 5 2 34 43 2 12 4 3 12 54 10 23-Output

76 5 34 2 4 12
3 5 2 43 12 3 54 10 23

76 3 5 5 34 2 2 43 4 12 12 3 54 10 23-Output

 

Тагове:
0
Fundamentals Module 04/02/2019 18:51:58
MiroslavDinev avatar MiroslavDinev 115 Точки

Здравей, ето 1 решение от мен: https://pastebin.com/LeqUUMPx

Ако има нещо неясно питай.

0
ddzhenezov avatar ddzhenezov 0 Точки

Благодаря ! решението ти е изключително ясно ! 

0
dansan5489 avatar dansan5489 -1 Точки

Здравейте, 

Това е моето решение!

 

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

namespace _03._Merging_Lists
{
    class Program
    {
        static void Main(string[] args)
        {

            List<double> first = Console.ReadLine()
                .Split()
                .Select(double.Parse)
                .ToList();

            List<double> second = Console.ReadLine()
                .Split()
                .Select(double.Parse)
                .ToList();

            InputTwoeList(first, second);
        }

        public static List<double> InputTwoeList(List<double> first, List<double> second)
        {
            List<double> totalConcatenate = new List<double> ();

            int forCycleIteration = Math.Max(first.Count, second.Count);

            for (int i = 0; i < forCycleIteration; i++)
            {
                if (first.Count > i)
                {
                    totalConcatenate.Add(first[i]);
                }
                if (second.Count > i)
                {
                    totalConcatenate.Add(second[i]);
                }
            }

            Console.WriteLine(string.Join(" ", totalConcatenate));

            return totalConcatenate;
        }
    }
}
 

0
Tyza4o avatar Tyza4o 3 Точки

Споделям тук и едно решение, в което добавям директно в първия List, започвайки с първият му елемент, както е по условие. Използвам метод който приема списъци с всякакъв тип елементи -  generic <T> за по-универсално. Особеното е, че трябва да се съобрази нарастването на първия списък със всяко добавяне на елемент от втория. Т.е.

 i = 0 1 2 3 4 ... n - брояч на цикъла до по-малката дължина взема всеки пореден индекс от втория списък;

      1 3 5 7 9 ... n + n + 1 - съответно индексите на първия списък, на които трябва да се вмъкне пореден елемент от втория;

Вижда се, че поредицата на всеки втори индекс от първия списък е: 2 * i + 1

Цикъла върти до по-малката дължина докато не ги вмести един след друг, но работи и при равни такива. Ако има останали елементи в първия списък (т.е. той е по-голям) те остават в края му. Ако втория списък е по-голям, трябва неговите оставащи елементи да се Add-нат последователно към първия с цикъл от последния вместен елемент до дължината втория списък.

https://pastebin.com/KEgszUnd

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