avatar
s*o
1
一个经典问题:a vector x of n real numbers. find the max sum found in any
contiguous sub vector。
大家知道,programming pearl的解法是:
maxsofar = 0;
maxendinghere = 0;
for i = [0, n)
maxendinghere = max (maxendinghere + x[i], 0);
maxsofar = max (maxsofar, maxendinghere);
我改动一下,要输出究竟是那个sub vector,请大侠指教是不是正确。
public class MaxSubVector {
static public void findBigestSum(double[] x)
{
double maxsofar = 0;
double maxendinghere = 0;
int maxsofarlow = -1;
int maxsofarhigh = -1;
int maxendinglow = -1;
int maxendinghigh = -1;

for (int i = 0; i < x.length; i ++ )
{
if (maxendinghere + x[i] > 0)
{
maxendinghigh = i;
if (maxendinglow == -1) maxendinglow = i;
maxendinghere = maxendinghere + x[i];
}
else
{
maxendinglow = -1;
maxendinghigh = -1;
maxendinghere = 0;
}

if (maxendinghere > maxsofar)
{
maxsofarlow = maxendinglow;
maxsofarhigh = maxendinghigh;
maxsofar = maxendinghere;
}
}
System.out.println("x = " + x.toString());
System.out.println ("maxsofar = " + maxsofar + " low: "
+ maxsofarlow + " high: " + maxsofarhigh);
if (maxsofarlow != -1 && maxsofarhigh != -1)
{
System.out.print ("[");
double sum2 = 0;
for (int i = maxsofarlow; i <= maxsofarhigh ; i ++)
{
System.out.print (x[i] + " ");
sum2 += x[i];
}
System.out.println ("]");
System.out.println ("Second sum is: " + sum2);
}
else
System.out.println ("Empty sub vector");
}
public static void main(String[] args) {
double x1[] = {-1, 1, -3};
findBigestSum(x1);
double x2[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
findBigestSum(x2);
double x3[] = {-1, -1};
findBigestSum(x3);
double x4[] = {-1, 2, -1};
findBigestSum(x4);
}
}
avatar
s*g
2
打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
来这里发帖 求大家祝福!!!!
avatar
g*e
3
你的AD和RD是多少?

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
k*4
4
bless~good news coming soon~
avatar
f*y
5
Bless!!!
avatar
s*g
6
bless
avatar
b*t
7
bless
avatar
p*f
8
bless!!!

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
z*1
9
bless
avatar
m*a
10
bless
avatar
k*p
11
bless!

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
f*r
12
祝福,同郁闷中,同时也沾沾祝福者的喜气.
avatar
b*n
13
bless,偶和你一样。。。。
avatar
l*t
14
bless
avatar
g*y
15
Bless!
avatar
s*g
16
USCIS received at 03/11/1020
ND: 04/06/2010
FP: 04/26/2010
avatar
u*9
17
bless

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
m*g
18
Bless
avatar
j*u
19
bless

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
e*e
20
good luck!
avatar
s*u
21
bless

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
j*o
22
bless
avatar
e*d
23
Bless!

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
b*r
24
bless
avatar
d*s
25
bless.....
avatar
t*a
26
你的AD和RD是多少?
我比你早打17天,还没消息呢。。。

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
A*r
27
bless!

【在 s*******g 的大作中提到】
: 打了指纹都已经一个多月了(5/7/2010) I485到现在都还没批
: 来这里发帖 求大家祝福!!!!

avatar
d*1
28
bless!
avatar
l*u
29
卡卡这就到了!!
avatar
s*g
30
谢谢大家的祝福 今天收到CPO notice 了
以下是我的timeline:
I140 approved: 01/12/2010
I485 (along with EAD application) sent: 03/08/2010
I485 delivered: 03/11/2010
I485 RD: 04/06/2010
FP: 05/07/2010 (I did walk-in on 04/26/2010)
change of address: 05/11/2010
EAD approved: 05/14/2010
EAD card received: 05/28/2010
I485 CPO: 06/01/2010
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。