关于最大子数组和问题,对于子数字X[1..n],D[i]表示以X[i]开始的最大子数组和,则D[i]的递推式,下述正确的是( )。[/i][/i][/i]
A: D[i]=D[i−1]+X[i],当D[i−1]>0 D[i]=X[i],当D[i−1]≤0
B: D[i]=D[i+1]+X[i],当D[i+1]>0 D[i]=X[i],当当D[i+1]≤0
C: D[i]=D[i−1]+X[i],当D[i−1]≤0 D[i]=X[i],当D[i−1]>0
D: D[i]=D[i+1]+X[i],当D[i+1]≤0 D[i]=X[i],当当D[i+1]>0
A: D[i]=D[i−1]+X[i],当D[i−1]>0 D[i]=X[i],当D[i−1]≤0
B: D[i]=D[i+1]+X[i],当D[i+1]>0 D[i]=X[i],当当D[i+1]≤0
C: D[i]=D[i−1]+X[i],当D[i−1]≤0 D[i]=X[i],当D[i−1]>0
D: D[i]=D[i+1]+X[i],当D[i+1]≤0 D[i]=X[i],当当D[i+1]>0
举一反三
- 关于最大子数组和问题,对于子数字X[1..n],D[i]表示以X[i]结尾的最大的子数组和,则D[i,j]的递推式,下述正确的是( )。[/i][/i] A: D[i]=D[i−1]+X[i],当D[i−1]>0 D[i]=X[i],当当D[i−1]≤0 B: D[i]=D[i]+X[i],当D[i−1]>0 D[i]=X[i],当当D[i−1]≤0 C: D[i]=D[i+1]+X[i],当D[i−1]>0 D[i]=X[i],当当D[i−1]≤0 D: D[i]=D[i-1]+X[i],当D[i−1]>0 D[i]=D[i-1]+X[i],当当D[i−1]≤0
- 【单选题】直线扫描转换Bresenham算法中,若直线斜率0= =0时,此时中点M在直线上方或落于直线上,下一点像素点应取 ____。 A. x[i+1]=x[i]; y[i+1]=y[i]; B. x[i+1]=x[i]+1; y[i+1]=y[i]; C. x[i+1]=x[i]; y[i+1]=y[i]+1; D. x[i+1]=x[i]+1; y[i+1]=y[i]+1;
- 若定义:int i=101,x; 求执行语句while( x=i-- ); 后x与i 的值 ( )。 A: x=0,i=-1 B: x=101,i=100 C: x=0,i=0 D: x=-1,i=-1
- #includevoidmain(){intb[51],x,i,j=0,n=0;scanf("%d",&x);while(x>-1){b[++n]=x;scanf("%d",&x);}for(i=1;i<=n;i++)if(b[i]%2==0)b[++j]=b[i];for(i=1;i<=j;i++)printf("%d",b[i]);}若输入78962-1输出什么?(5.0分)
- int i,a;i=0;a=0;while(i<3) {a=a+1; i=i+1; }i=i+1;这条语句被执行了( )次 A: 0 B: 1 C: 2 D: 3