Я нашел это как вопрос для интервью и, похоже, не могу решить проблему. Вы не можете использовать любые встроенные функции R.
x <- c(77, 12, 4, 8, 77, 2, 4, 12)
answer <- FALSE #int the answer to FALSE
То, как я смотрю на это, l oop берет 77 и сравнивает его справа. Как только он видит следующие 77 в точке x [5], он должен вернуть ответ <- TRUE, и код должен полностью остановиться. Но притворимся, что первое число не является дубликатом, тогда в следующий раз ему не нужно снова смотреть на x [1], так как его уже сделали x [1] против x [2] при первом проходе. </p>
Это то, над чем я работал, но, похоже, не понимаю. У меня есть n <- длина (х). Я добавил переменную count <- 0, но в течение первого l oop он увеличивается на 1. Затем в следующем l oop я говорю «смотреть из счета в конец», но не уверен, что это исправить тоже. Кажется, что происходит то, что он не разрывается при первом дубликате, затем достигает последнего индекса в x и сравнивает его с собой, возвращая, таким образом, TRUE, что неверно. </p>
for (i in 1:n){ #wasn't sure if this should be 2:n?
count <- count +1
for (stuff in (count:n)){
if (stuff){
answer <- TRUE
break #I thought this would break the entire code when it see's x[1] vs x[5] which is 77 duplicate
}
}
}
answer