c_cpp 最大子阵列和子序列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 最大子阵列和子序列相关的知识,希望对你有一定的参考价值。
//https://www.hackerrank.com/challenges/maxsubarray
#include <bits/stdc++.h>
using namespace std;
void maxSubarray(vector<int> arr) {
long n= arr.size();
//Kadane's algo for maxSubarray
int maxi=arr[0],curr=arr[0],m= arr[0];
for (long i=1;i<n;i++) {
curr= max(arr[i], curr+arr[i]);
maxi= max(maxi,curr);
m= max(m+arr[i], max(arr[i],m));
}
cout<< maxi<< " "<<m<< "\n";
}
int main() {
int t;
cin>>t;
while(t-->0){
long n;
cin>>n;
vector<int> arr(n);
for (long i=0;i<n;i++)
cin>>arr[i];
maxSubarray(arr);
}
}
以上是关于c_cpp 最大子阵列和子序列的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 53.最大子阵列
c_cpp 53.最大子阵列
c_cpp 最大乘积子阵列
c_cpp 最大子阵列总和。在具有最大总和的数组(包含至少一个数字)中查找连续的子数组。
求最大和子序列
c_cpp 最大子序列和