q*x
2 楼
So sad.
The market is high and the interest rate is low. Banks should be able to
lure us with sweet offers.
The market is high and the interest rate is low. Banks should be able to
lure us with sweet offers.
f*t
3 楼
int water(int * a, int n) {
stack > mystack;
int water = 0;
for(int i = 0; i while(!mystack.empty() && mystack.top().second <= a[i]) {
int bottom = mystack.top().second;
mystack.pop();
if( mystack.empty())
break;
int top = mystack.top().second < a[i]? mystack.top().second: a[i];
int length = i - mystack.top().first - 1;
water = water + (top-bottom)* length;
}
mystack.push(make_pair(i, a[i]));
}
return water;
}
stack
int water = 0;
for(int i = 0; i
int bottom = mystack.top().second;
mystack.pop();
if( mystack.empty())
break;
int top = mystack.top().second < a[i]? mystack.top().second: a[i];
int length = i - mystack.top().first - 1;
water = water + (top-bottom)* length;
}
mystack.push(make_pair(i, a[i]));
}
return water;
}
x*i
5 楼
多谢多谢。。。
除了大小比较和边界处理不一样,算法和最大rectangle一致。
http://wansishuang.appspot.com/?p=3002
【在 f*******t 的大作中提到】
: int water(int * a, int n) {
: stack > mystack;
: int water = 0;
:
: for(int i = 0; i : while(!mystack.empty() && mystack.top().second <= a[i]) {
: int bottom = mystack.top().second;
: mystack.pop();
: if( mystack.empty())
: break;
除了大小比较和边界处理不一样,算法和最大rectangle一致。
http://wansishuang.appspot.com/?p=3002
【在 f*******t 的大作中提到】
: int water(int * a, int n) {
: stack
: int water = 0;
:
: for(int i = 0; i
: int bottom = mystack.top().second;
: mystack.pop();
: if( mystack.empty())
: break;
g*y
7 楼
G的标准解法是:找到最高的bar, 分别算左边和右边,那个解写起来长一点,但是解释
简单,不容易错。
public int hold2(int[] a) {
int h = 0;
int N = a.length;
for (int i=1; i a[h]) h = i;
int total = 0;
int left = a[0];
for (int i=1; i if (a[i] > left) {
left = a[i];
}
else {
total += left - a[i];
}
}
int right = a[N-1];
for (int i=N-2; i>h; i--) {
if (a[i] > right) {
right = a[i];
}
else {
total += right - a[i];
}
}
return total;
}
【在 f*******t 的大作中提到】
: int water(int * a, int n) {
: stack > mystack;
: int water = 0;
:
: for(int i = 0; i : while(!mystack.empty() && mystack.top().second <= a[i]) {
: int bottom = mystack.top().second;
: mystack.pop();
: if( mystack.empty())
: break;
简单,不容易错。
public int hold2(int[] a) {
int h = 0;
int N = a.length;
for (int i=1; i
int total = 0;
int left = a[0];
for (int i=1; i
left = a[i];
}
else {
total += left - a[i];
}
}
int right = a[N-1];
for (int i=N-2; i>h; i--) {
if (a[i] > right) {
right = a[i];
}
else {
total += right - a[i];
}
}
return total;
}
【在 f*******t 的大作中提到】
: int water(int * a, int n) {
: stack
: int water = 0;
:
: for(int i = 0; i
: int bottom = mystack.top().second;
: mystack.pop();
: if( mystack.empty())
: break;
I*A
9 楼
能不能讲讲具体的题目啊? 考古了一下,但没有找到具体的描述; 那位大虾给
讲讲,谢谢!
讲讲,谢谢!
Y*B
12 楼
直方图最大矩形和最大蓄水什么关系? 怎么个蓄水法?
A*u
13 楼
有没有分治解法
【在 x***i 的大作中提到】
: 多谢多谢。。。
: 除了大小比较和边界处理不一样,算法和最大rectangle一致。
: http://wansishuang.appspot.com/?p=3002
【在 x***i 的大作中提到】
: 多谢多谢。。。
: 除了大小比较和边界处理不一样,算法和最大rectangle一致。
: http://wansishuang.appspot.com/?p=3002
m*k
15 楼
http://tech-queries.blogspot.com/2011/03/maximum-area-rectangle
异曲同工.
【在 k****n 的大作中提到】
: 这题最快就是O(n),分治也不可能比这个快了
异曲同工.
【在 k****n 的大作中提到】
: 这题最快就是O(n),分治也不可能比这个快了
Y*B
24 楼
0 1 0
是2还是0?
是2还是0?
相关阅读
问个银行billpay的问题请问点数定的国内往返票改签怎么规定关于staplesciti hilton能转什么卡?casher check或者wire transfer哪个手续费低?怎么跟ebay申诉阿?申了delta gold后还能申delta plantium吗?父母在这里开存款账户的利息要交税吗? (转载)现在好像bestbuy还活着paypal extra哪天报信用局AMEX Benz 卡第一个月不给MR points?ATT More通过Paypal付eBay没有三倍点喜讯:MR解冻了!没有收入的同学申请信用卡会批吗今天打电话canel amex plantinum cardUA explorer值得留吗?要不要把Citi Dividend转成Citi Double Cash?为啥google express买东西总是买不成amex fine hotelreloadit还能玩么