Java 14 綠色免安裝版:
鏈接:https://pan.baidu.com/s/1cK0uaLeC137-eZdeVnXUvQ
提取碼:rkm7
這裏推薦個JAVA14的學習網站:https://www.liaoxuefeng.com/wiki/1252599548343744/1255883772263712,安利一下,個人覺得還可以,裏面還有其他教程。
今天先看個開胃小菜:
算法設計舉例
問題:給定序列A1,A2,A3,A4,...,An,求A1~An,求A1~An的一個任意子序列Ai~Aj,使得Ai~Aj的和最大。例如:整數序列【-2,11,-4,13,-5,2,-5,-3,12,-9的最大子序列之和爲21(A2~A9)】
算法一:窮舉法
public class TestSeq {
static int[] seq = new int[] { -2, 11, -4, 13, -5, 2, -5, -3, 12, -9 };
public static int maxSub_1(int[] seq) {
int max = 0;
int n = seq.length;
int sum = 0;
for (int i = 1; i <= n; i++) {
for (int j = 0; j < n; j++) {
sum = 0;
for (int k = j; k < j + i && k < n; k++) {
sum += seq[k];
if(sum > max)
max = sum;
}
}
}
return max;
}
public static void main(String[] args) {
System.out.println(maxSub_1(seq));
}
}
運行結果是:21
還有三種方法下次安利,告辭!