Справочная информация на случай, если вам не все равно, если не пропустите ее:
Я записывал сегодня немного аудио для проекта, делая его абзацем за раз.Если я испортил абзац, я переделал его, пока не понял, а затем перешел к следующему абзацу.Когда я загрузил их на компьютер, мне нужно было найти последнюю запись для каждого абзаца.Без каких-либо сведений о количестве записей, которые я сделал для определенного абзаца, как мне это сделать?(Разве вам не нравится, когда алгоритмы пробираются в вашу повседневную жизнь?)
В терминах алгоритмов у вас есть массив элементов, где за каждым элементом следует другой элемент того же типа, илисовершенно другой элемент.Найдите каждый последний элемент последовательности (правильно записанный аудиоклип).
Проблема:
Итак, у вас есть массив объектов, где каждый элемент имеет поле idгде каждый идентификатор находится в следующем списке.Я хочу, чтобы объекты, которые являются последними из их идентификаторов, скажем, в массиве идентификаторов, например:
aabbbbbccddddddddddddddeefffffffffggghhhhiiiijjklmnnnnoo
Очевидно, что если длина строки равна n и имеется n различных элементов, это займет у вас nшаги, чтобы понять это.Меня больше интересует общий алгоритм.Я мог бы сделать это с помощью алгоритма типа бинарного поиска, но я не знаю время его выполнения в том случае, если не знал о входных данных, кроме количества общих элементов.
Кроме того, знал бы числоразные идентификаторы меняют время выполнения алгоритма?Это интересная проблема для меня, и я прошу удовлетворить только мое интеллектуальное любопытство.