Заблокирован
1

Вернуть первую длинную строку, состоящую из k последовательных строк, взятых в массиве

17.07.2018, 11:05. Показов 2573. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вернуть первую длинную строку, состоящую из k последовательных строк, взятых в массиве.
# Пример: longest_consec (["zone", "abigail", "theta", "form", "libe", "zas", "theta", "abigail"], 2) -> "abigailtheta"
n - длина строкового массива, если n = 0 или k> n или k <= 0 return "".

Есть пример входных и выходных данных:
testing(LongestConsecutives.LongestConsec(new String[] {"zone", "abigail", "theta", "form", "libe", "zas", "theta", "abigail"}, 2), "abigailtheta");
testing(LongestConsecutives.LongestConsec(new String[] {"ejjjjmmtthh", "zxxuueeg", "aanlljrrrxx", "dqqqaaabbb", "oocccffuucccjjjkkkjyyyeehh"}, 1), "oocccffuucccjjjkkkjyyyeehh");
testing(LongestConsecutives.LongestConsec(new String[] {}, 3), "");
testing(LongestConsecutives.LongestConsec(new String[] {"itvayloxrp","wkppqsztdkmvcuwvereiupccauycnjutlv","vweqilsfytihvrzlaodfixoyxvyu yvgpck"}, 2), "wkppqsztdkmvcuwvereiupccauycnjutlvvweqilsfytihvrzlaodfixoyxvyuyvgpck");
testing(LongestConsecutives.LongestConsec(new String[] {"wlwsasphmxx","owiaxujylentrklctozmymu","wpgozvxxiu"}, 2), "wlwsasphmxxowiaxujylentrklctozmymu");
testing(LongestConsecutives.LongestConsec(new String[] {"zone", "abigail", "theta", "form", "libe", "zas"}, -2), "");
testing(LongestConsecutives.LongestConsec(new String[] {"it","wkppv","ixoyx", "3452", "zzzzzzzzzzzz"}, 3), "ixoyx3452zzzzzzzzzzzz");
testing(LongestConsecutives.LongestConsec(new String[] {"it","wkppv","ixoyx", "3452", "zzzzzzzzzzzz"}, 15), "");
testing(LongestConsecutives.LongestConsec(new String[] {"it","wkppv","ixoyx", "3452", "zzzzzzzzzzzz"}, 0), "");

Не понимаю принцип задачи, так как по формулировке задания не совсем понятно почему возврат в примерах именно такой, кто сможет объяснить логику?
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2018, 11:05
Ответы с готовыми решениями:

Найти первую повторяющуюся строку в массиве строк
Здравствуйте, существует задача: найти первую повторяющуюся строку в массиве строк. Подскажите...

Определить самую длинную строку состоящую только из цифр
Помогите решить СРОЧНО!!! Пользователь вводит в консоль строки до тех пор, пока он не введет...

В массиве найти наиболее длинную цепочку, состоящую из одних нулей
В массиве найти наиболее длинную цепочку, состоящую из одних нулей и написать на дельфи с формой!

В массиве L(m) найти наиболее длинную цепочку, состоящую из одних нулей
Всем привет! помогите решить задачу в Microsoft Visual Basic for Application. В массиве L(m)...

3
Эксперт JS
6493 / 3904 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
17.07.2018, 12:02 2
Лучший ответ Сообщение было отмечено Фарид Фариханов как решение

Решение

Прикольная задача.
В T-SQL такой поиск max можно сделать только оконными функциями.
Для каждой строки, сложенной со следующей, найти из них максимально длинную.

Добавлено через 17 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Test_Array_Longest
{
    class Program
    {
        static void Main(string[] args)
        {
            testing(LongestConsecutives.LongestConsec(new String[] { "zone", "abigail", "theta", "form", "libe", "zas", "theta", "abigail" }, 2), "abigailtheta");
            testing(LongestConsecutives.LongestConsec(new String[] { "ejjjjmmtthh", "zxxuueeg", "aanlljrrrxx", "dqqqaaabbb", "oocccffuucccjjjkkkjyyyeehh" }, 1), "oocccffuucccjjjkkkjyyyeehh");
            testing(LongestConsecutives.LongestConsec(new String[] { }, 3), "");
            testing(LongestConsecutives.LongestConsec(new String[] { "itvayloxrp", "wkppqsztdkmvcuwvereiupccauycnjutlv", "vweqilsfytihvrzlaodfixoyxvyuyvgpck" }, 2), "wkppqsztdkmvcuwvereiupccauycnjutlvvweqilsfytihvrzlaodfixoyxvyuyvgpck");
            testing(LongestConsecutives.LongestConsec(new String[] { "wlwsasphmxx", "owiaxujylentrklctozmymu", "wpgozvxxiu" }, 2), "wlwsasphmxxowiaxujylentrklctozmymu");
            testing(LongestConsecutives.LongestConsec(new String[] { "zone", "abigail", "theta", "form", "libe", "zas" }, -2), "");
            testing(LongestConsecutives.LongestConsec(new String[] { "it", "wkppv", "ixoyx", "3452", "zzzzzzzzzzzz" }, 3), "ixoyx3452zzzzzzzzzzzz");
            testing(LongestConsecutives.LongestConsec(new String[] { "it", "wkppv", "ixoyx", "3452", "zzzzzzzzzzzz" }, 15), "");
            testing(LongestConsecutives.LongestConsec(new String[] { "it", "wkppv", "ixoyx", "3452", "zzzzzzzzzzzz" }, 0), "");
        }
 
        private static void testing(string v1, string v2)
        {
            Console.WriteLine(v1 == v2);
        }
    }
 
    public class LongestConsecutives
    {
        /// <summary>
        /// Вернуть первую длинную строку, состоящую из k последовательных строк, взятых в массиве.
        /// n - длина строкового массива, если n = 0 или k> n или k менее или равно 0 return "".
        /// </summary>
        /// <param name="array">Массив строк</param>
        /// <param name="k">Количество сцепленных элементов</param>
        /// <returns>Соединенная строка из k-элементов массива array</returns>
        public static string LongestConsec(string[] array, int k)
        {
            string max = "";
            string current;
            int n = array.Length;
 
            if (n == 0 || k > n || k <= 0)
                return max;
 
            for (int i = 0; i <= n - k; i++)
            {
                current = "";
                for (int j = 0; j < k; j++)
                {
                    current += array[i + j];
                }
                if (max.Length < current.Length)
                    max = current;
            }
            return max;
        }
    }
}
1
Заблокирован
17.07.2018, 12:16  [ТС] 3
а логику сможете пояснить? как вы сделали?
0
Эксперт JS
6493 / 3904 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
17.07.2018, 12:26 4
Фарид Фариханов, скопируйте себе программу и прошагайте в отладчике кнопкой F11. Станет понятно.
0
17.07.2018, 12:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2018, 12:26
Помогаю со студенческими работами здесь

В массиве найти наиболее длинную цепочку, состоящую из одних нулей
Всем доброго дня! Задачка: В массиве найти наиболее длинную цепочку, состоящую из одних нулей. ...

Вернуть строку, состоящую из a и b, разделенных пробелом
Даны две строки a и b. Вернуть строку, состоящую из a и b, разделенных пробелом. Кроме того, в...

Заданы две строки. Построить новую строку, состоящую из символов, которые входят в первую строку, но не входят во вторую
Помогите решить пожалуйста задачу условия звучат так. Заданы две строки. Построить новую строку,...

Если количество строк в массиве четное, то поменять строки местами по правилу: первую строку со второй, третью - с четвертой и т.д
Доброго времени суток, ув. Форумчане! Вынужден просить Вашей помощи в решении нескольких задач,...

Задана матрица А(N,M). Найти первую строку, состоящую только из отрицательных чисел, и убрать ее из матрицы. Если такой строки нет, то напечатать это
Есть такая задачка :адана матрица А(N,M). Найти первую строку, состоящую только из отрицательных...

Как вывести одну строку состоящую из двух строк ?
как вывести на экран одну строку состоявшиеся из двух строк ? в с++


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru