en cours grâce à des exercices sur testdome ... actuellement à la recherche à https://www.testdome.com/for-developers/solve-question/9877triés d'augmenter les performances de recherche
Mettre en œuvre la fonction
CountNumbers
qui accepte un tableau trié d'entiers et compte le nombre d'éléments du tableau qui sont inférieur au paramètrelessThan
.Par exemple,
SortedSearch.CountNumbers(new int[] { 1, 3, 5, 7 }, 4)
devrait revenir 2 parce qu'il ya deux éléments du tableau moins 4.
Je suis entré:
public class SortedSearch
{
public static int CountNumbers(int[] sortedArray, int lessThan)
{
int returnedValued = 0;
foreach (int i in sortedArray)
{
if(i<lessThan)
returnedValued += 1;
}
return returnedValued;
}
public static void Main(string[] args)
{
Console.WriteLine(SortedSearch.CountNumbers(new int[] { 1, 3, 5, 7 }, 4));
}
}
Je me demandais pourquoi cela a été marqué comme niveau de difficulté difficile et temps prévu 20 min quand je savais que cela ne devrait prendre que quelques-uns. Quoi qu'il en soit, 2 cas sur 4 sont passés. J'échoue sur la limite de temps dépassée et je devine que j'ai besoin de refactoriser pour retourner une recherche plus rapide. Est-ce correct? Et si oui, est-ce que quelqu'un pourrait l'aider?
Example case: Correct answer Various small arrays: Correct answer Performance test when sortedArray contains lessThan: Time limit exceeded Performance test when sortedArray doesn't contain lessThan: Time limit exceeded
Si vous voulez savoir pourquoi votre code a échoué au test, vous devez demander à la personne qui a créé le test, et non à la communauté Stack Overflow. Une bonne question aurait des informations spécifiques à l'action, telles que le comportement exact attendu et une explication détaillée de ce que vous avez essayé jusqu'ici pour atteindre ce comportement et de ce que vous êtes incapable de comprendre par vous-même. Cette question manque de ces détails, et est susceptible de susciter une grande variété de réponses différentes. Il est trop large et ne contient pas d'énoncé de problème clair. –
Ajoutez 'Using System.Linq;' puis implémentez votre fonction en tant que 'sortedArray.Where (i => i
Aussi, je viens de regarder le site, et il a des indices. Avez-vous lu l'un des conseils? Si non, pourquoi ne pas le faire avant de demander ici? Si oui, quels conseils avez-vous lu, et pourquoi ne vous ont-ils pas aidé à résoudre le problème? ** Astuce: le second indice vous indique _exactement_ ce que vous devez faire pour réussir les tests. ** –