avatar
ebay paypal 被盗# Money - 海外理财
s*3
1
原先的OJ很容易通过,
public class Solution {
public boolean isValidBST(TreeNode root) {
return rec(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
}

public boolean rec(TreeNode root, int min, int max) {
if (root == null) return true;

if (root.val <= min || root.val >= max) return false;

return rec(root.left, min, root.val) && rec(root.right, root.val,
max);
}
}
但现在OJ加了新的test case,会有
Input: {2147483647}
Output: false
Expected: true
到达极端min,max时,判定条件就不适用了
这样的话程序该怎么改啊?
谢谢指教!
avatar
u*g
2
妈的礼拜五下午被盗的,刚刚发现。好像寄到NJ一个转运的地方去了:600 Markley St
,Client ID:064986,Port Reading, NJ 07064-1813。东西已经寄出来了,但是要礼
拜三才到。
刚刚去ebay改了密码,地址,邮件,更新security question,联系seller叫他
intercept package,issue refund。
去了paypal改了密码,balance全部转到银行。据说ebay只能寄到paypal的地址,但是
paypal地址没有看见改动,当然也有可能那家伙改了又删了。妈蛋加了地址也没有邮件
通知一下的吗?
不知道这样的情况钱要的回来吗?从来没跟ebay paypal扯过屁,现在居然轮到我了,
擦。
avatar
w*t
3
将int max, int min 改成指针:
int *max, int *min
初始的时候都为null, 表示上下界
java的话应该也可以用null
avatar
M*a
4
应该可以,前一阵子和你有相同的遭遇,一天之内数个订单,消费近5000块,联系ebay
和paypalH后全部取消了。建议取消ebay 和PAYPAL的关联。
avatar
s*3
5
不懂啊,
能否展开讲讲?
java下怎么用?

【在 w*****t 的大作中提到】
: 将int max, int min 改成指针:
: int *max, int *min
: 初始的时候都为null, 表示上下界
: java的话应该也可以用null

avatar
g*g
6
You can setup boolean instance variable to mark if Integer.MIN and MAX are
taken.
if(taken && equals) => false
avatar
T*e
7
inorder的时候记录前一个值
avatar
y*e
8
这题是我面groupon的店面题,所以印象深刻。。
有两个写法,一个是5楼说的,记录前一个值,比较是不是一直在变大。我和你是一样
的写法,都是比较左右两个叶子。对于max和min两个test case,最简单的还是直接拿
出来判断一下
public boolean validate(TreeNode root){
if(root == null)
return true;
return helper(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
}

private boolean helper(TreeNode root, int low, int high){
if(root == null)
return true;
if(root.val == Integer.MIN_VALUE && root.left != null)
return false;
if(root.val == Integer.MAX_VALUE && root.right != null)
return false;
if(low <= root.val && root.val <= high){
return helper(root.left, low, root.val - 1) && helper(root.right,
root.val + 1, high);
}
return false;
}
avatar
x*k
9
java 下的函数可以用isValidBSTRecur(TreeNode root, Integer min, Integer max)
然后你就可以用
if (min != null && root.val <= min) return false;
if (max != null && root.val >= max) return false;
这样的判断了。
调用时也是可以用null值isValidBSTRecur(root,null,null);

【在 s******3 的大作中提到】
: 不懂啊,
: 能否展开讲讲?
: java下怎么用?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。