日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

一个整形数组中最大值求和问题(3)

發(fā)布時間:2025/6/17 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个整形数组中最大值求和问题(3) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

新要求:

在“一個整形數(shù)組中最大值求和問題(2)”的基礎(chǔ)之上,加入了新要求。

將一位數(shù)組變成環(huán)形數(shù)組。

?

首先在自己看到這道題目的時候,并沒有什么思路,然后老師一點一點的旁敲側(cè)擊,自己又在紙上動手畫了畫,最后自己實現(xiàn)了這個項目。值得說明的一點是,自己雖然能夠?qū)崿F(xiàn),但是當與同學們上臺分享時,并沒有很好的表達出自己的意思,一方面,自己的語言表達能力還很欠缺,在日后的學習生活中要有意識地去改善這一方面。另一方面,自己地邏輯思維不是很清晰,正如主任所說的那樣“這只是一個小小地項目都沒能很好的表達出自己,那上百行地大項目,更說不出來,也做不出來了?!弊约旱剡壿嬎季S能力,也要逐步提高。

?

設(shè)計思想:

環(huán)形數(shù)組,則程序需要在源程序的基礎(chǔ)之上,加入實現(xiàn)最后一個數(shù)加開頭數(shù)地想法,即實現(xiàn)n->(n-1)的計算。

首先在原代碼基礎(chǔ)之上,加入變量a(用來表示數(shù)組的長度,由于數(shù)組從0開始表示,故賦初值-1),然后當數(shù)組遍歷完成一次之后,將已有的sum值與(sum+c[0])、a與數(shù)組長度n兩兩進行比較,兩個條件都滿足時,才執(zhí)行,將已有的sum值接著從頭開始相加的代碼,且每執(zhí)行一次,均需判斷a與數(shù)組長度的關(guān)系。一但a大于等于數(shù)組長度n,則跳出循環(huán),此時的f為子數(shù)組和的最大值。

實驗截圖:

源代碼:

import java.util.Scanner;public class sum02 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);System.out.println("請輸入數(shù)組的長度為:");int n=sc.nextInt();int[] c = new int[n];System.out.println("請輸入"+n+"個整數(shù)");for(int i=0;i<n;i++){c[i] = (int) sc.nextLong();}int a=-1;//a值用來表示子數(shù)組的長度int f=0;//定義整形變量f,為子數(shù)組最大值int sum=0;//定義整形變量sum,為子數(shù)組求和for(int i=0;i<n;i++){sum = sum+c[i];if(sum < 0){sum=0;}if(sum > f){f = sum;}a=a+1;}//System.out.println(a);if( a<n && (f+c[0])>f) {for(int i=0;i<n;i++){sum = sum+c[i];if(sum < 0){sum=0;}if(sum > f){f = sum;}a=a+1;if(a >= n) {break;}}}if(sum == 0){for(int i=0;i<n;i++){if(i == 0){f = c[i];}if(f < c[i]){f = c[i];}}}System.out.println("該數(shù)組的子數(shù)組之和的最大值為:"+f);}}

?

轉(zhuǎn)載于:https://www.cnblogs.com/Qi77/p/10596235.html

總結(jié)

以上是生活随笔為你收集整理的一个整形数组中最大值求和问题(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。