Title Search JS - Mock Exam 4

Добър вечер на всички!
Тъй като от доста време мисля над въпросната задача и не успявам, реших да пусна този пост.
Ще съм много благодарен, ако някой благоволи да помогне с насоки.
Това е моето решение, но покрива само някои от кейсовете: Title Search - Pastebin.com

1 Like

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

Лека вечер.

Това е друга задача, тази е много по-трудна :slight_smile:

@k_todorov12

Здравей,

Това решение беше на една колежка от курса @angelinaterzieva - дано не се сърди, че го споделям.
Дано да ви е от полза, защото тази задача всички ни мъчи, а е доста интересна :slight_smile:

let word = gets();
let wordCopy = word;
let n = +gets();

for (let i = 0; i < n; i++) {
  let currentWord = gets();
  let currentIndex = 0;
  let isFound = true;
  for (let j = 0; j < currentWord.length; j++) {
    let intPosition = word.indexOf(currentWord[j], currentIndex);
    if (intPosition > -1) {
      word = word.substring(0, intPosition) + word.substring(intPosition + 1);
      currentIndex = intPosition;
    } else {
      isFound = false;
      break;
    }
  }
  if (isFound) {
    wordCopy = word;
    print(word);
  } else {
    word = wordCopy;
    print(`No such title found!`);
  }
}
1 Like

Оу да, не чета :disappointed_relieved: :sob:

Да попитам, понеже нещо май не мога да схвана, тръгнах да решавам задачата и напълно я оплесках, тръгнах с насоките по тази задача, но няколко неща мисля, че не разбирам:
word.indexOf(currentWord[j], currentIndex) - тук идеята на currentIndex е такава, че ако случайно има няколко еднакви стойности да вземем индекса на този, който е до или по-близо до стойността на currentIndex ли?
Доколкото знам и прочетох substring() премахва дадена стойност на посочените индекси и с първия махаме стойността, която е на този индекс, но не мога да разбера каква е идеята на този след ±а.
Другото мисля, че го разбирам, но тези двете специално са ми каша.

То това е разковничето на задачата, че трябва да се ползват 2-та параметъра на indexOf, за да изрязва от стринга от правилното начало всеки път.

1 Like

Благодаря Ви много за отзивите. Не знам защо моят код работи добре за едни кейсове, а за другите - не. Ще разгледам обстойно решението на момичето и ще видя какво съм пропуснал. :))