J'ai trouvé cela comme une question d'entrevue et je ne peux pas sembler travailler une solution. Vous ne pouvez utiliser aucune fonction R intégrée dans R.
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
3 Réponses :
Cela devrait fonctionner:
for (i in x) {
repeats <- length(x[x == i])
if (repeats < 2) {
} else {
print(paste(i, "has duplicates"))
break
}
}
Je suis d'accord que cela fonctionnera, mais je ne peux pas utiliser% en%. J'aime votre idée d'utiliser si (répétez <2) cependant, je vais travailler sur quelque chose de similaire. Si vous pouvez penser à un moyen sans% en%, je l'apprécierais
Pouvez-vous utiliser 'somme'?
Vous pouvez définir les "répétitions" dans la même boucle que répéter <- longueur (x [x == i]). Mais encore une fois, pouvez-vous utiliser la longueur ()?
L'utilisation de la somme et de la longueur est autorisée. La question de l'entrevue a déclaré «no% en% ou de fonctions de choix».
alors cela fonctionnera :) même boucle mais avec répéter <- longueur (x [x == i])
Cela fonctionnera:
x <- c(77, 12, 4, 8, 77, 2, 4, 12)
answer <- FALSE
n <- length(x)
for(count in 1:n){
for(compare in x[-count]){
if(x[count] == compare){
answer <- TRUE
break()
}
}
if(answer){break()}
}
Cela semble accomplir la tâche, merci. Pouvez-vous expliquer ce que le "-" dans x [-Count] fait?
le minus signifie qu'il aura utilisé tout le vecteur x sans le "compte"
Les éléments suivants: semble fonctionner et n'utilise pas non plus (code> aucun () code>, EDIT: Sinon, un bon algorithme peut être trouvé Il dans O (n) heure et o (1) espace supplémentaire . p> p> is.Element code> ou ou ou % dans% code> fonctions. Si vous voulez que votre enseignant devienne plus intelligent et apprenez la définition des fonctions «intégrées», vous pouvez répondre à cela :) p>
Voulez-vous obtenir la quantité de doublons? Ou voulez-vous obtenir pour chaque numéro le nombre de répétitions?
Qu'est-ce qui constitue une fonction R intégrée?
si () code> etpour () code> sont à la fois techniquement intégrées dans les fonctions.@ Santagoi.hurtado s'il y a une duplication, la réponse devrait être vraie. Je n'ai pas besoin du nombre de doublons ou de quel nombre est dupliqué. Je ne peux pas utiliser% en% car c'est une fonction R
@Danielo Désolé, j'aurais dû être plus clair, je peux utiliser si () et pour () mais pas ();% en% ou IS.Element ()