формат интересный и актуальный. Но все-таки хотелось бы какую то обратную связь: правильно или неправильно отвечает кандидат, свои дополнения какие то к ответам , и, конечно, какое то резюме по итогу )
Пишу на флатере 5 лет. Вопросы ради вопросов. в 99% это вообще не используется, как работаю эти деревья, как оно работает под капотом. Вопросы высосанные из пальца. Пример сдаёшь на права - ты не обязан знать как работает двигатель в машине, ты должен уметь им управлять. Сеньоры-помидоры берут техническую документацию фраемворка и задают по ней вопросы, хотя настоящие вопросы из жизни придумывать вообще не хотят
Начали прямо на серьёзных щщах тереть за паттерны проектирования - думаю ну ни хера себе уровень - а потом кандидат взял да присел на несложной задачке, заблудившись в трёх соснах, и потом давай плавать в простых вопросах по Dart
На сколько я понял что интерфейс не может отобразить состояние класса а только описывает его поведение, а абстрация может нести в себе конкретное состояние конкретного класса.
Примерно такая идея реализации задачи void main() { final List list = [1,1,3,7,7,3,2,9,2,5,5]; int i = 0; int result = 0; while (list.length > i) { int j = 0; int b = 0; while (list.length > j) { if (list[i] == list[j]) { b = b + 1; } j++; } if (b < 2) { result = list[i]; } i++; } print(result); }
Можно сетом воспользоваться. Там метод .add возвращает булевое значение, если элемент в сете уже есть. Так что удаляй если он уже есть и у тебя в итоге будет сет, с единственным значением которое ты выведешь как ответ. Все за 1 проход и ниче не надо городить
@@karaoket8911 менять размерность коллекции в цикле - красный флаг. Когда немного элементов ещё не так страшно, но когда много.. перестроения в памяти хорошую такую просидку дают. Хоть и номинально у вас О(n).