Mock exam 4 title search



let input = [ 'tepeplpepreik', '3', 'telerik ', 'gagaga', - Pastebin.com Привет, някой може ли да помогне с решението на тази задача ?

Learning Platform линк към самия изпит и джъджа ми хваща само примерните аутпути ,които са дадени в условие …

1 Like

е това не е ли на Сашо решението ?имам го вече .мерси все пак .надявах се някой да даде подсказка към моето решение дали може да стане по някакъв начин …

Привет, виждам, че твоят проблем е същия като моят. Вероятно дава грешка, защото сравняваш всеки нов елемент от sub с всички елементи от word, а идеята е да са в еднаква последователност в word и sub. Демек: примерно ако смениш Input-а да е вместо “tepeplpepreik”, да стане “epetplpepreik”, твоят код пак ще засече sub в word, но това ще е грешка, защото в word има etlerik, a не telerik.
Дано ти е от полза това, поне при мен това беше проблемът, струва ми се, че и при теб е този :slight_smile:

1 Like

Привет! Мисля че си изчистих решението от паразитни повторения и открих топлата вода, че indexOf() може да има и втори аргумент, който да отчита от къде да търси :slight_smile: Ще се опитам да помисля и в посока твоя код, но не съм сигурен дали ще стигна до някаква истина :slight_smile:

2 Likes

И аз се чудя къде ми е грешката и не мога да я намеря…
Някой би ли хвърлил един поглед,моля!

using System;

namespace Title_Search
{
class Program
{
static void Main(string[] args)
{
string title = Console.ReadLine();
int n = int.Parse(Console.ReadLine());

        for (int i = 0; i < n; i++)
        {
            string lettersInclude = string.Empty;
            int index = 0;
            string checkWords = Console.ReadLine();

            for (int j = 0; j < checkWords.Length ; j++)
            {
                for (int l = index; l < title.Length ; l++)
                {
                    if (checkWords[j] == title[l])
                    {
                        lettersInclude += title[l];
                        index = l; 
                        break;
                    }
                }
            }
            index = 0;

            if (checkWords == lettersInclude)
            {
                for (int j = 0; j < checkWords.Length; j++)
                {
                    for (int l = index; l < title.Length; l++)
                    {
                        if (checkWords[j] == title[l])
                        {
                            title =title.Remove(l,1);
                            break;
                        }
                    }
                }
            }
            else
            {
                Console.WriteLine("No such title found!");
                continue;
            }
            Console.WriteLine(title);
        }
    }
}

}

Може да оптимизираш малко кода с по-малко на брой цикли : Ползвай един за входните данни и един за title search :
title - Pastebin.com