日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

求环形数组的最大子数组的和

發(fā)布時間:2025/7/25 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求环形数组的最大子数组的和 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.設(shè)計思路:

(1).先定義一個求最大值的函數(shù),然后在子程序中調(diào)用它。

(2).實現(xiàn)數(shù)組轉(zhuǎn)換,每進行一次循環(huán),(循環(huán)次數(shù)不能超出數(shù)組長度)數(shù)組里的數(shù)就前進一位,然后賦值給一個新數(shù)組。

(3).求數(shù)組中所有子數(shù)組的和,再比較得出最大值。

2.程序代碼

#include<iostream>
using namespace std;

int main()
{
  int A[100], B[100], C[100];
  int max(int A, int B);
  int length = 0;
  int sumOfArray;
  int sum = 0;
  cout << "請輸入數(shù)組:"<<endl;
  for (length = 0;;)
  {
    cin >> A[length];
    length++;
    if (getchar() == '\n')
    {
      break;
    }
  }

  for (int i = 0; i < length; i++)
  {
    for (int j = 0; j < length; j++)
    {

      if ((i + j) > (length-1))
      {
        B[j] = A[i + j - length];
      }
      else
      {
        B[j] = A[j + i];
      }
    }
    sumOfArray = B[0];
    for (int k = 1; k < length; k++)
    {
      sum = max(sum, sumOfArray);
      sumOfArray = max((sumOfArray + B[k]), B[k]);

    }
    sumOfArray = max(sum, sumOfArray);
    C[i] = sumOfArray;
  }
  int maxNum = C[0];
  for (i = 0; i < length; i++)
  {
    if (C[i] > maxNum)
    {
      maxNum = C[i];
    }
  }

  cout << "這個循環(huán)整數(shù)數(shù)組的子數(shù)組之和的最大值為:" << maxNum << endl;
return 0;
}
int max(int A, int B)
{

  if (A > B)
  {
    return A;
  }
  else
  {
    return B;
  }
}

3.運行結(jié)果:

?

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

總結(jié)

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

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