数组子串问题
来源:互联网 发布:贪心算法汽车加油问题 编辑:程序博客网 时间:2024/05/28 23:20
最近看曾经的经典面试题目,现在记录如下:
1、求一个数组的最大子数组和,如此序列1, -2, 3, 10, -4, 7, 2, -5
#include
#include
using namespacestd;
int main()
{
float num[NUM]={0.0};
for(int i=0;i
{
cin>>num[i];
}
float sum=0.0;
float temp=0.0;
for(int i=0;i
{
for(int j=i;j
{
temp+=num[j];
if(temp>sum)
sum=temp;
}
temp = 0.0;
}
cout<<sum<<endl;
system("pause");
}
当然,上述算法的时间复杂度为O(n^2),如果要设计复杂度为O(n)的算法,可用如下:
- #include
- #define
n 4 -
- int
maxsum( inta[n]) - {
-
int max=a[0]; -
int sum=0; -
for(int j=0;j -
{ -
if(sum>=0) //如果和为正,那么加上 -
sum+=a[j]; -
else -
sum=a[j]; -
if(sum>max) -
max=sum; -
} -
return max; - }
-
- int
main() - {
-
int a[]={-1,-2,-3,-4}; -
cout<<maxsum(a)<<endl; -
return 0; - }
0 0
- 数组子串问题
- 再谈子数组/子串问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- 最大子数组问题
- windows下pip、anaconda的多版本管理
- seekg()/seekp()与tellg()/tellp()…
- 针对VC中的一些基础知识记录
- 使用matlab画不同填充图案的柱状图
- 输出BUG信息的简单方式
- 数组子串问题
- 比较两篇文章的相似性方法
- 编辑距离及其算法
- 字符串包含问题算法
- 基于字符串比对的文档复制检测方法
- 【原创】LSH和p-stable LSH
- matlab利用描点画平滑曲线
- set_new_handler()总结
- 剑指Offer之 - 二维数组中的查找