1. 程式人生 > >PAT:01-複雜度1. 最大子列和問題

PAT:01-複雜度1. 最大子列和問題

問題描述:

給定K個整陣列成的序列{ N1, N2, ..., NK },“連續子列”被定義為{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -2, 11, -4, 13, -5, -2 },其連續子列{ 11, -4, 13 }有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。

輸入格式:

輸入第1行給出正整數 K (<= 100000);第2行給出K個整數,其間以空格分隔。

輸出格式:

在一行中輸出最大子列和。如果序列中所有整數皆為負數,則輸出0。

輸入樣例:
6
-2 11 -4 13 -5 -2
輸出樣例:
20
#include<iostream>
using namespace std;

int main()
{
  int K, i;
  cin >> K;
  int * Pseq = new int[K];

  for(i=0; i < K; i++)
  {
    cin >> *(Pseq+i);
  }
  int Sum=0, MaxSum=0;
  for ( i=0; i< K; i++)
  {
    Sum += *(Pseq+i);
    if( MaxSum < Sum)//大於當前最大子列和即更新
      MaxSum = Sum;
    else if ( Sum < 0)//當前子列和小於零就捨去
      Sum = 0;
  }
  cout << MaxSum << endl;
  return 0;
}


相關推薦

PAT01-複雜1. 大子問題

問題描述: 給定K個整陣列成的序列{ N1, N2, ..., NK },“連續子列”被定義為{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -

PAT 01-複雜2. Maximum Subsequence Sum (25)&&PAT 01-複雜1. 大子問題(20)

/* 01-複雜度2. Maximum Subsequence Sum (25) 時間限制 400 ms 記憶體限制 65536 kB 程式碼長度限制 8000 B 判題程式 Standard 作者 CHEN, Yue Given a sequence of K integ

PAT 資料結構 01-複雜1. 大子問題(20)

給定K個整陣列成的序列{ N1, N2, ..., NK },“連續子列”被定義為{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。“最大子列和

中國大學MOOC-陳越、何欽銘-資料結構-2018秋 01-複雜1 大子問題 (20 分)

01-複雜度1 最大子列和問題 (20 分) 給定K個整陣列成的序列{ N​1​​, N​2​​, ..., N​K​​ },“連續子列”被定義為{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1≤i≤j≤K。“最大子列和”則被定義為所有連續子列元素的和

01-複雜1 大子問題(20 分)

題目描述: 給定K個整陣列成的序列{ N ​1 ​​ , N ​2 ​​ , …, N ​K ​​ },“連續子列”被定義為{ N ​i ​​ , N ​i+1 ​​ , …, N ​j ​​ },其中 1≤i≤j≤K。“最大子列和”則被定義為所有連續

01-複雜1. 大子問題

給定K個整陣列成的序列{ N1, N2, ..., NK },“連續子列”被定義為{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -2, 11, -4

01-複雜1 大子問題 (20分)分治

#include<bits/stdc++.h> using namespace std; int n,a[100000+5]; int maxsum(int x,int y) {

01-複雜1 大子問題 (20分)

根據求最大子列和的線上處理演算法即可。 #include<stdio.h> int main() { int n; int array[100005]; in

01-複雜1. 大子問題(20)

給定K個整陣列成的序列{ N1, N2, ..., NK },“連續子列”被定義為{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -2, 11, -4, 13, -5, -2 },

01-複雜1 大子問題 (20分)

01-複雜度1 最大子列和問題   (20分) 給定KK個整陣列成的序列{ N1N ​1 ​​ , N2N ​2 ​​ , ..., NKN ​K ​​  },“連續子列”被定義為{ NiN ​i ​​ , Ni1N ​i+1 ​​ , ..., NjN ​j ​​  },

PAT資料結構_01-複雜1 大子問題

題目:https://pta.patest.cn/pta/test/15/exam/4/question/709 #include <iostream> using namespace std; int MaxSubseqSum2(int A[], in

複雜1 大子問題 --C語言學習種種

01-複雜度1 最大子列和問題   (20分) 給定K個整陣列成的序列{ N​1​​, N​2​​, ..., N​K​​ },“連續子列”被定義為{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1≤i≤j≤K。“最大子列和”則被定義為所有連續

01-1. 大子問題(20)

給定K個整陣列成的序列{ N1, N2, ..., NK },“連續子列”被定義為{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -2, 11,

7-1 大子問題 (20 分)

給定K個整陣列成的序列{ N​1​​, N​2​​, …, N​K​​ },“連續子列”被定義為{ N​i​​, N​i+1​​, …, N​j​​ },其中 1≤i≤j≤K。“最大子列和”則被定義為所有連續子列元素的和中最大者。例如給定序列{ -2, 11,

PAT - 1007 Maximum Subsequence Sum【大子

題目 Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A continuous subsequence is defined to be { N

7-1 大子問題(C語言版)

7-1 最大子列和問題 (20 分) 給定K個整陣列成的序列{ N1, N2, …, NK },“連續子列”被定義為{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。“最大子列和”則被定義為所有連續子列元素的和中最

PTA資料結構與演算法題目集(中文)5-1 大子問題 (20分)

給定KK個整陣列成的序列{ N_1N​1​​, N_2N​2​​, ..., N_KN​K​​ },“連續子列”被定義為{ N_iN​i​​, N_{i+1}N​i+1​​, ..., N_jN​j​​ },其中 1 \le i \le j \le K1≤i≤j≤

演算法筆記-1-大子-Maximum Subsequence Sum

題目內容: Given a sequence of KK integers {N1,N2,...,NK}. A continuous subsequence is defined to be {Ni,Ni+1,...,Nj} where 1≤i≤j≤K1

01-複雜2 Maximum Subsequence Sum(大子問題變化)

一、題目: 01-複雜度2 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A continuous subsequence is de

pta作業01-複雜2 Maximum Subsequence Sum

#include"stdio.h" #include"stdlib.h" int main() {int num=0,max=0,sum=0; scanf("%d",&num); int *a=(int *)malloc(num*sizeof(int))