-2
votes

Choisissez l'élément le plus bas dans une liste

Je veux choisir le support en fonction de la taille, mais je ne peux pas sembler comprendre comment choisir celui avec la consommation de mémoire la plus basse de manière intelligente.

L'utilisation de la mémoire est stockée dans le champ Taille . xxx

mais comment puis-je choisir celui avec la mémoire la plus basse, la taille est stockée comme une chaîne?

i pourrait le faire une boucle, mais y a-t-il quelque chose de plus intelligent?


2 commentaires

Premièrement, faites de la taille (code> public) afin que vous puissiez y accéder, puis en faites un numéro afin que vous puissiez l'évaluer correctement. "9" (string) évaluera toujours plus grand que "100" etc.


Le duplicata trouve la plus grande valeur. Vous devriez être capable de faire face à cela.


3 Réponses :


3
votes

Il n'y a rien de plus intelligent que de traverser la liste. Période.

C'est une liste - il n'a aucune connaissance de magie intérieure sur une condition spéciale, afin de trouver une correspondance d'une condition spécifique (mémoire la plus basse), vous devez passer à travers tous les éléments et les évaluer. Période - Logique de base intrinsèque, rien de Smart n'est possible ici.

Prenez chaque élément, comparez la taille à la taille stockée pour la taille de l'élément le plus petit et remplacez le plus petit élément s'il est plus petit (et définissez quoi faire de la même taille).


0 commentaires

2
votes

Vous ne pouvez pas éviter "visiter" chaque élément de la liste entière quelle que soit la solution que vous accédez car afin d'obtenir l'élément min que vous devez comparer à tous les autres éléments.

Vous pouvez obtenir le résultat via linq agrégat : xxx

ou utiliser une boucle typique.


3 commentaires

La comparaison des chaînes n'est pas suffisante ("2"> "10").


@Gernold édité. En outre, étant donné que la taille représente des entiers, il serait probablement plus approprié d'avoir en tant que int en premier lieu.


Oui, et c'est le dupliquer plus ou moins.



0
votes

Une solution typique de ce problème est de trier la liste puis de la prise du premier ou du dernier élément en fonction de votre algorithme de tri.


0 commentaires