Java 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。它是一种近似算法,因为它往往不能保证最优解,但它的效率很高,因此也被称为最优近似算法。
Java 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。它是一种近似算法,因为它往往不能保证最优解,但它的效率很高,因此也被称为最优近似算法。
贪心算法的典型例子是活动选择问题。给定一组活动,每个活动都有起始时间和结束时间,求出最多可以安排多少活动,使得它们不冲突。
是一个 Java 代码示例,用于求解活动选择问题:
import java.util.Arrays;
public class ActivitySelection {
public static void main(String[] args) {
int[] startTime = {1, 3, 0, 5, 8, 5};
int[] finishTime = {2, 4, 6, 7, 9, 9};
ActivitySelection activitySelection = new ActivitySelection();
activitySelection.activitySelection(startTime, finishTime);
}
public void activitySelection(int[] startTime, int[] finishTime) {
int i = 0;
System.out.print(i + " ");
for (int j = 1; j < startTime.length; j++) {
if (startTime[j] >= finishTime[i]) {
System.out.print(j + " ");
i = j;
}
}
}
}
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(50条)