f********x 发帖数: 2086 | 1 1. String to Long
用Java照着Leetcode String to Integer改得,但是Long越界处理的地方很麻烦,我写
了一堆判断,虽然我加了很多注释,但是明显看着这种解法不是很好。估计挂在这里了
。求大神指点。
2. Trinary Search Tree的插入删除
网上有标准code |
c********p 发帖数: 1969 | |
T******7 发帖数: 1419 | |
f********x 发帖数: 2086 | 4 股票代码Z
【在 c********p 的大作中提到】 : what is Z?
|
f********x 发帖数: 2086 | 5 大牛帮解答下第一题吧
【在 f********x 的大作中提到】 : 1. String to Long : 用Java照着Leetcode String to Integer改得,但是Long越界处理的地方很麻烦,我写 : 了一堆判断,虽然我加了很多注释,但是明显看着这种解法不是很好。估计挂在这里了 : 。求大神指点。 : 2. Trinary Search Tree的插入删除 : 网上有标准code
|
l******i 发帖数: 880 | 6 股票代码就一个字母?
【在 f********x 的大作中提到】 : 股票代码Z
|
w*******s 发帖数: 138 | 7 看了一下glibc的实现,是定义一个cutoff = LONG_MAX / 10, cutlim = LONG_MAX %
10
假设中间结果是i,需要处理的数字是d
overflow = i > LONG_MAX || i == LONG_MAX && d > cutlim
如果是负数,将LONG_MAX改成LONG_MIN,类似处理
【在 f********x 的大作中提到】 : 大牛帮解答下第一题吧
|
A*****i 发帖数: 3587 | |
n****a 发帖数: 174 | 9 应该是Zillow
我也做这俩题然后挂了。。。
【在 A*****i 的大作中提到】 : zynga还在招人呢?不都快不行了么
|
J*********g 发帖数: 96 | 10
有代码吗?或者解释详细点,我看不懂,谢啦大牛
【在 w*******s 的大作中提到】 : 看了一下glibc的实现,是定义一个cutoff = LONG_MAX / 10, cutlim = LONG_MAX % : 10 : 假设中间结果是i,需要处理的数字是d : overflow = i > LONG_MAX || i == LONG_MAX && d > cutlim : 如果是负数,将LONG_MAX改成LONG_MIN,类似处理
|
|
|
w*******s 发帖数: 138 | 11 code:
https://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/strtol_l.c;h=
dc47608b0c1ede85f57d8c2220a8a41b6c2c8f08;hb=master
【在 J*********g 的大作中提到】 : : 有代码吗?或者解释详细点,我看不懂,谢啦大牛
|
f********x 发帖数: 2086 | 12
我的思想就是这个
只是我代码写的不是这么elegant,都是直接比较long去掉最末尾前面的digits以及最
后一位,因为正负两种以及正负末尾不同,所以写了一堆if
【在 w*******s 的大作中提到】 : 看了一下glibc的实现,是定义一个cutoff = LONG_MAX / 10, cutlim = LONG_MAX % : 10 : 假设中间结果是i,需要处理的数字是d : overflow = i > LONG_MAX || i == LONG_MAX && d > cutlim : 如果是负数,将LONG_MAX改成LONG_MIN,类似处理
|
f********x 发帖数: 2086 | 13
多谢大牛
【在 w*******s 的大作中提到】 : code: : https://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/strtol_l.c;h= : dc47608b0c1ede85f57d8c2220a8a41b6c2c8f08;hb=master
|
J*********g 发帖数: 96 | 14
trinary这个,网上哪里有标准code?
求链接
【在 f********x 的大作中提到】 : 1. String to Long : 用Java照着Leetcode String to Integer改得,但是Long越界处理的地方很麻烦,我写 : 了一堆判断,虽然我加了很多注释,但是明显看着这种解法不是很好。估计挂在这里了 : 。求大神指点。 : 2. Trinary Search Tree的插入删除 : 网上有标准code
|
l***n 发帖数: 89 | 15 Trinary search tree是怎么定义的? |
f********x 发帖数: 2086 | 16 比Binary search tree多一个middle孩子,值等于parent
【在 l***n 的大作中提到】 : Trinary search tree是怎么定义的?
|
x*****0 发帖数: 452 | |
x*****0 发帖数: 452 | |
y*****3 发帖数: 451 | 19 求问LZ,第二题的delete哪里有标准code?我在网上找了一个,但貌似是错的。。。请
给个link吧,谢谢啦!
【在 f********x 的大作中提到】 : 1. String to Long : 用Java照着Leetcode String to Integer改得,但是Long越界处理的地方很麻烦,我写 : 了一堆判断,虽然我加了很多注释,但是明显看着这种解法不是很好。估计挂在这里了 : 。求大神指点。 : 2. Trinary Search Tree的插入删除 : 网上有标准code
|
j**a 发帖数: 24 | |
|
|
y*****3 发帖数: 451 | 21 up..继续问。有人能给个正确答案吗?谢谢!
【在 y*****3 的大作中提到】 : 求问LZ,第二题的delete哪里有标准code?我在网上找了一个,但貌似是错的。。。请 : 给个link吧,谢谢啦!
|
f*******w 发帖数: 1243 | |
x*********1 发帖数: 23 | 23 我写了一个,大家帮看看, 谢谢啦, 请问楼主在哪找到的第二题的code,很想学习
一下
public long stringToLong(String str) {
if (str==null||str.length()==0){
return 0;
}
int sign=1;
Long sum=(long) 0;
int i=0;
while(i
i++;
}
if (i==str.length()){
return 0;
}
if (str.charAt(i)=='+'){
sign=1;
i++;
}
else if (str.charAt(i)=='-'){
sign=-1;
i++;
}
while (i
if (str.charAt(i)>='0'&&str.charAt(i)<='9'){
if (sign>=0){
if ((Long.MAX_VALUE-(str.charAt(i)-'0'))/10<=sum){
return Long.MAX_VALUE;
}
sum=sum*10+(str.charAt(i)-'0');
}
else{
if ((Long.MIN_VALUE+(str.charAt(i)-'0'))/10>sum){
return Long.MIN_VALUE;
}
sum=sum*10-(str.charAt(i)-'0');
}
}
else{
return sum;
}
i++;
}
return sum;
}
【在 f********x 的大作中提到】 : 1. String to Long : 用Java照着Leetcode String to Integer改得,但是Long越界处理的地方很麻烦,我写 : 了一堆判断,虽然我加了很多注释,但是明显看着这种解法不是很好。估计挂在这里了 : 。求大神指点。 : 2. Trinary Search Tree的插入删除 : 网上有标准code
|
J*********g 发帖数: 96 | 24
lz后面有电面吗?还记得题目吗?
【在 f********x 的大作中提到】 : 1. String to Long : 用Java照着Leetcode String to Integer改得,但是Long越界处理的地方很麻烦,我写 : 了一堆判断,虽然我加了很多注释,但是明显看着这种解法不是很好。估计挂在这里了 : 。求大神指点。 : 2. Trinary Search Tree的插入删除 : 网上有标准code
|
l********5 发帖数: 230 | 25 同问Trinary Search Tree删除哪儿有code。。。网上确实是错的。。。 |
z*f 发帖数: 1267 | 26 其实不是search tree吧,只是说左中右儿子又没说左子树中子树右子树 |
p*v 发帖数: 3 | 27 贴一个c的,大家看看有木有问题:
long atol(const char *str) {
if (*str == ' |
z********u 发帖数: 18 | |
m********c 发帖数: 105 | |
p*v 发帖数: 3 | 30 code长了不显示?再贴一次
long atol(const char *str) {
if (*str == ' |