一.O(n^3)
列举起点与终点然后求每个子序列的和
for(int i=0;i>a[i];
int left,right;
for(int i=0;imaxx){
left=i,right=j,maxx=sum;
}
}
}
二.O(n^2)
第一层循环列举起点,第二层用来求和,
for(int i=0;i>a[i];
int maxx=0,left,right;
for(int i=0;imaxx){
maxx=sum;
left=i,right=j
}
}
}
三.O(n)
思想就是从第一个数开始相加,如果和小于零了,就舍弃该段子序列,让当前的和等于0;如果大于maxx(记录最大子序列和)就让maxx=当前的和并更新左右点(让left=m(记录起点,让right=i),值得注意得是如果小于零我们必须也要让m进行更新,让它等于和小于零的那段子序列的尾端+1,因为我们要舍去当前这段小于0的子序列,那么下一个序列的开始则为当前的i+1,特判一下就是如果m>n,那么m=n.
for(int i=1;i>a[i];
int left,right,maxx=INT_MIN,sum=0,m=1;//左边界,右边界,子序列最大值,当前和,记录起点。
for(int i=1;imaxx){
maxx=sum;
left=m,right=i;
}
if(sumn) m=n;
}
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
nginx安装在公网IP为x.x.x.x,私网IP为x1.x1.x1.x1的服务器上。使用GeoIP2模块来进行安装配置nginx是在服务器内网部署的,所以解析不了IP区域信息。 安装libmaxminddb 第一步,下载libmaxminddb安装包。 登录…