Maison > Java > javaDidacticiel > Introduction à l'utilisation et aux algorithmes des énumérations Java

Introduction à l'utilisation et aux algorithmes des énumérations Java

王林
Libérer: 2023-04-23 08:19:06
avant
956 Les gens l'ont consulté

Si vous souhaitez utiliser l'algorithme d'énumération, vous devez d'abord déterminer l'objet d'énumération, la plage d'énumération et les conditions de jugement. Énumérez les solutions possibles une par une, vérifiez si chaque solution est la solution au problème et ne manquez jamais aucune solution correcte possible.

Donnez-moi un exemple

Achetez 100 poulets avec 100 dollars Problème : Il y a une personne qui a 100 dollars et envisage d'acheter 100 poulets. Quand je suis allé au marché, un gros poulet coûtait trois yuans, un petit poulet coûtait trois yuans et un poulet de taille moyenne coûtait deux yuans. Maintenant, s'il vous plaît, écrivez un programme pour l'aider à planifier comment acheter 100 poulets pour exactement 100 yuans ?

Nous pouvons supposer que le coq est x, la poule est y et le poussin est z, et nous pouvons obtenir l'équation suivante :
 La valeur d'un coq, d'une poule et d'un poussin peut être représentée par le x du coq .

Code :

Introduction à lutilisation et aux algorithmes des énumérations Java

Le code dans l'image utilise trois boucles for. La complexité temporelle (si vous ne la connaissez pas, ne vous inquiétez pas, il y aura un article spécial pour en discuter plus tard) est O(N). ^3); Nous aimons tous qu'un programme soit simple, qu'il consomme de l'espace, qu'il soit court et concis et qu'il ait l'air haut de gamme. L'optimisation est présentée ci-dessous.

Routines d'optimisation

Bien que l'énumération soit un algorithme très rentable, vous pouvez toujours améliorer l'efficacité de la résolution de problèmes

en rétrécissant la plage d'énumération. Dans le même temps, nous devrions également éviter les énumérations répétées. Regardons la deuxième méthode :

x+y+z = 100 ①

5x+3y+z/3 = 100 ②

Soit ②x3-① obtenir

7x+4y = 100

= > ;y = 25-(7/4)x ③

Et parce que 0

=> 25-7k ⑤

En remplaçant ④⑤ dans ①, nous pouvons savoir

=> z = 75+3k ⑥

Pour garantir que 0

Code :

Ce code a atteint la base d'une boucle à un niveau, et la complexité temporelle est O(n)

Cette châtaigne introduit une routine d'optimisation d'énumération qui est pour réduire le nombre de variables d’énumération à citer. L'ensemble de la routine d'optimisation du dénombrement a principalement deux aspects : l'un consiste à réduire les variables de dénombrement et l'autre est de réduire la portée du dénombrement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal