算法题:找出一个数组中相加值最大的连续序列元素
生活随笔
收集整理的這篇文章主要介紹了
算法题:找出一个数组中相加值最大的连续序列元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package arithmetic;/*** @author SHI* 求一個數組中相加值最大的連續序列元素*/
public class MaxSequence {public static void main(String[] args) {int[] a=new int[]{-2,9,-3,4,-6,7,-6,4};findBigSequence(a);}/*** 思想: (1)計算出該數組的所有元素和,假設該值為最大* (2)從數組下標1到a.length-1依次求和,每循環求得一個值就與假設的最大值比較* @param a*/public static void findBigSequence(int[] a) {int sum = 0;for(int i=0;i<a.length;i++) {sum += a[i];}int max = sum;int start = 1;int flag = 0;int sum1 = 0;//比較,滿足條件就交換for(;start<a.length;start++) {sum1 += a[start];if(max < sum1) {max = sum1;flag = start;}}//打印找到的序列元素for(int i = 0;i<flag;i++) {System.out.print(a[i] + " ");}}
}
轉載于:https://www.cnblogs.com/shi-blog/p/4254586.html
總結
以上是生活随笔為你收集整理的算法题:找出一个数组中相加值最大的连续序列元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信平台开发1--开发者模式基本配置
- 下一篇: response.setHeader()