열거 알고리즘을 사용하려면 먼저 열거 대상, 열거 범위 및 판단 조건을 결정해야 합니다. 가능한 해결책을 하나씩 열거하고, 각 해결책이 문제에 대한 해결책인지 확인하고, 가능한 올바른 해결책을 절대 놓치지 마세요.
예를 들어주세요
100달러로 닭 100마리를 사세요 문제: 100달러를 가지고 닭 100마리를 사려고 하는 사람이 있습니다. 시장에 가보니 큰 치킨이 3위안, 작은 치킨이 3위안, 중간 크기의 치킨이 2위안이었어요. 이제 정확히 100위안으로 닭 100마리를 사는 방법을 계획하는 데 도움이 되는 프로그램을 작성해 주세요.
수탉은 x, 암탉은 y, 병아리는 z라고 가정하면 다음 방정식을 얻을 수 있습니다.
수탉, 암탉, 병아리의 값은 수탉의 x로 나타낼 수 있습니다. .
최적화 루틴
열거는 매우 수익성이 높은 알고리즘이지만열거 범위를 좁히면하여 문제 해결의 효율성을 높일 수 있습니다. 동시에 반복적인 열거를 피해야 합니다. 두 번째 방법을 살펴보겠습니다.
x+y+z = 100 ①5x+3y+z/3 = 100 ②
②x3-1을
7x+4y = 100
= >로 설정합니다. ;y = 25-(7/4)x ③
그리고 0
x = 4k ④
4를 ③에 대입하면
=> 25-7k ⑤
①에 ④⑤를 대입하면
=> z = 75+3k ⑥
0
코드:
이 코드는 루프의 한 레이어의 기초에 도달했으며 시간 복잡도는 O(n)입니다.
이 밤나무는 다음과 같은 열거형 최적화 루틴을 소개합니다. 인용할 열거형 변수의 수를 줄입니다. 열거 최적화의 전체 루틴에는 주로 두 가지 측면이 있습니다. 하나는 열거 변수를 줄이는 것이고, 다른 하나는 열거 범위를 줄이는 것입니다.
위 내용은 Java 열거형의 사용법 및 알고리즘 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!