Trouver le deuxième plus petit entier dans la gamme
Nous sont nécessaires dans notre mission pour trouver le deuxième plus petit entier dans un tableau de manière récursive. Cependant, pour des raisons de compréhension du sujet en plus, je veux le faire de manière itérative en premier (avec l'aide de ce site web) et de manière récursive sur mon propre.
Malheureusement, le faire de manière itérative est assez déroutant. Je comprends que la solution est simple, mais je ne peut pas envelopper la tête autour de lui.
Ci-dessous mon code pour l'instant:
public static void main(String[] args)
{
int[] elements = {0 , 2 , 10 , 3, -3 };
int smallest = 0;
int secondSmallest = 0;
for (int i = 0; i < elements.length; i++)
{
for (int j = 0; j < elements.length; j++)
{
if (elements[i] < smallest)
{
smallest = elements[i];
if (elements[j] < secondSmallest)
{
secondSmallest = elements[j];
}
}
}
}
System.out.println("The smallest element is: " + smallest + "\n"+ "The second smallest element is: " + secondSmallest);
}
Cela fonctionne pour quelques numéros, mais pas tous. Les numéros de changement, parce que l'intérieur si la condition n'est pas aussi efficace que l'externe si la condition.
Tableau des réarrangements sont interdits.
smallest
avec 0
si le tableau ne peut contenir que des nombres plus grands que. Essayez int smallest = Integer.MAX_VALUE
pour commencer. En va de même pour secondSmallest
.Sinon,
elements[0]
est une bonne initialisation pour smallest
et secondSmallest
, puisque c'est un candidat pour le plus petit dans le tableau.
OriginalL'auteur Majd Khoury | 2015-05-24
Vous devez vous connecter pour publier un commentaire.
Essayer celui-ci. Deuxième condition est utilisé pour capturer un événement lorsque le nombre le plus petit est le premier
UPD par @Axel
int[] elements = { -5, -4, 0, 2, 10, 3, -5}
? Devrait-il être-5
ou-4
? Celui-ci vous donne-4
.Ne suffirait-il pas d'utiliser
=>
au lieu de>
dans la deuxièmeif
? (Oh, désolé, c'est maintenant la troisième.)Oui, il sera également correct
Afin de mieux de tout simplement supprimer la première
if
et l'ensemble de la&& elements[i] > smallest
pour le rendre plus lisible.Pour l'entrée int[] éléments = { -5, -4, 0, 2, 10, 3, -5} nous devrions obtenir -4 en tant que deuxième plus petit nombre. Dans ce cas, else if (elements[i] < secondSmallest && elements[i] != la plus petite) { secondSmallest = elements[i]; }
OriginalL'auteur nesteant
OriginalL'auteur Feeroz Alam
Simplement, vous pouvez le faire
OriginalL'auteur Ankit
Vous pouvez le faire en O(n) fois. Ci-dessous est le code python
OriginalL'auteur Jay Parikh
>= smallest
, cependant< secondSmallest
. Dans ce cas, `secondSmallest doit être remplacé.Aussi, si la première valeur dans les éléments est plus petit, il ne secondSmallest
OriginalL'auteur Adam Stelmaszczyk
OriginalL'auteur Amit.rk3
OriginalL'auteur girish
OriginalL'auteur Rounak
Muhammad Muazzam Sec d'Exécuter ce code très simple pas Besoin de vérifier si le else
OriginalL'auteur Keshav Gera
Essayer celui-ci.
OriginalL'auteur Prabhashani
J'ai utilisé Tri fonction en javascript
en fournissant un
compareFunction
pour la fonctionnalité de tri des éléments d'un tableau sont triés en fonction de la valeur de retour de la fonction.OriginalL'auteur Jayampathy Wijesena
Juste donné un essai avec quelques-uns des cas de test et ça a fonctionné. Veuillez vérifier s'il est correct!
OriginalL'auteur Nilesh
Comment à ce sujet?
OriginalL'auteur Satyendra Kumar
Essayez ceci ...
Première condition vérifie si les deux valeurs sont inférieures à la valeur dans le tableau.
Seconde condition si la valeur est inférieure à petit que
smallest=element[i]
d'autre
secondSmallest=elements[i]
..OriginalL'auteur akmal saeed
OriginalL'auteur Kushan Kavinda Edirisooriya
Trouver le deuxième élément minimum d'un tableau en Python, court et simple
OriginalL'auteur Muhammad Usman
Essayez ceci, le programme donne la solution pour les deux plus faibles de la valeur et la deuxième valeur la plus basse du tableau.
Initialiser min et second_min avec le premier élément du tableau.Trouver la valeur min et la comparer avec second_min valeur . Si c' (second_min) est plus grand que l'élément courant du tableau et la valeur min puis le second_min valeur de le remplacer avec de l'élément courant du tableau.
En cas arr[]={2,6,12,15,11,0,3} comme ceci , temp variable utilisée pour stocker précédente second_min valeur.
OriginalL'auteur Prajakta Kale