給出一個由[-100,100]之間整陣列成的陣列,求其相加和最大的連續子陣列 輸入 一個連續整陣列成的陣列 輸出 子陣列相加的最大值 樣例輸入 -......
給出一個由[-100,100]之間整陣列成的陣列,求其相加和最大的連續子陣列
解題:時間複雜度為O(N),也能解決最大子序列和為負數的情況
輸入
一個連續整陣列成的陣列
輸出
子陣列相加的最大值
樣例輸入
-1 2 3 -2 4 -6
樣例輸出
7
python版本:
import math
print("陣列")
x=input()
x=[-1,-2,-3,-2,-4,-6]
x=x.split(" ")
x = [int(x[i]) for i in range(len(x))]
sum=0
max_x=x[0]
for i in range(len(x)):
sum += x[i]
if (sum > max_x):
max_x = sum
if (sum < 0):
sum = 0
//如果最大子序列是負數,則取序列裡面最大的數即可
if(sum==0):
max_x=max(x)
print(max_x)
c++版本:
由於輸入原因,所以時間有點長
#include <iostream>
#include <stdio.h>
#include<stdlib.h>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<int> arr;
int i = 0;
int n=0;
do{
cin >> i;
n++;
arr.push_back(i);
}while(getchar() !='\n');
// int arr[6]= {-1,2,3,-2,4,-6};
int max = arr[0];
for(int i = 0, sum = 0; i < n; ++i)
{
sum += arr[i];
if (sum > max)
max = sum;
if (sum < 0)
sum = 0;
}
printf("%d",max);
system("pause");
return 0;
}
相關文章
- 輸入一個整數陣列,輸出奇偶數相間排列的陣列陣列
- 連續子陣列的最大和陣列
- 最大連續子陣列和的實現陣列
- 演算法學習-零子陣列,最大連續子陣列演算法陣列
- 陣列1——求一個陣列的最大子陣列陣列
- 將輸入陣列逆序輸出陣列
- 每日一練(22):連續子陣列的最大和陣列
- 【淺出 PHP】陣列相加和陣列合並的區別PHP陣列
- Maximum Subarray 連續子陣列最大和陣列
- 最大連續子陣列和(最大子段和)陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 【劍指offer】連續子陣列的最大和陣列
- 最短無序連續子陣列陣列
- JZ-030-連續子陣列的最大和陣列
- 牛客題霸--連續子陣列的最大和陣列
- 劍指offer-例題 連續子陣列的最大和陣列
- 陣列迴圈輸出陣列
- 《劍指Offer》- 連續子陣列的最大和或最小和陣列
- 劍指 Offer 42.連續子陣列的最大和陣列
- 劍指Offer-連續子陣列中的最大和陣列
- 劍指office--31. 連續子陣列的最大和陣列
- python輸入詳解(陣列、矩陣)Python陣列矩陣
- [每日一題] 第十五題:連續子陣列的最大和每日一題陣列
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列
- C語言 有一個整形陣列a,有10個元素,要求輸出陣列中的全部元素C語言陣列
- 最大連續子陣列和求解問題(C語言)陣列C語言
- 逗號分隔,輸出陣列陣列
- [JAVA]陣列旋轉輸出Java陣列
- 將一個陣列賦值給另外一個陣列陣列賦值
- C++陣列的連續性C++陣列
- 一維子陣列最大和陣列
- (陣列)大數相乘,相加陣列
- 雙指標查詢陣列的連續規律子陣列問題指標陣列
- 陣列中每個陣列元素出現的次數陣列
- 演算法筆記_043:最大連續子陣列和(Java)演算法筆記陣列Java
- python之矩陣相加:提示使用者輸入矩陣的行數n,再提示使用者輸入矩陣的列數m,接下來,提示使用者輸入 2*n*m 個數字(每次輸入 一個數字)。輸出 C=A+B。Python矩陣
- 刪除陣列中一個或者多個連續的元素陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列