v*****k 发帖数: 7798 | 1 两个巨大的正整数(100000 digits)加法。太紧张了,写的叫一个烂 |
q****x 发帖数: 7404 | 2 如果整数用字符串表示,任意大都可以?
【在 v*****k 的大作中提到】 : 两个巨大的正整数(100000 digits)加法。太紧张了,写的叫一个烂
|
v*****k 发帖数: 7798 | 3 其实他就是想让我用个int[]表示。结果我脑子积水非要搞string |
v*****k 发帖数: 7798 | 4 给size的意思是可以直接写入内存
【在 q****x 的大作中提到】 : 如果整数用字符串表示,任意大都可以?
|
e***s 发帖数: 799 | |
v*****k 发帖数: 7798 | 6 很简单啦,就是琐碎考细节。
【在 e***s 的大作中提到】 : LINKEDLIST做也很方便吧
|
b******t 发帖数: 965 | 7 我前天面facebook on-campus也是类似这个题
不过要求是string string里面存的是‘0'或者'1'
很简单的题 因为紧张 写的暴烂
还写的先加 加完了再string reverse
其实完全不需要reverse
【在 v*****k 的大作中提到】 : 两个巨大的正整数(100000 digits)加法。太紧张了,写的叫一个烂
|
v*****k 发帖数: 7798 | 8 一次写对没bug挺考功力的。
【在 b******t 的大作中提到】 : 我前天面facebook on-campus也是类似这个题 : 不过要求是string string里面存的是‘0'或者'1' : 很简单的题 因为紧张 写的暴烂 : 还写的先加 加完了再string reverse : 其实完全不需要reverse
|
x*******7 发帖数: 223 | 9 能贴下code?
【在 b******t 的大作中提到】 : 我前天面facebook on-campus也是类似这个题 : 不过要求是string string里面存的是‘0'或者'1' : 很简单的题 因为紧张 写的暴烂 : 还写的先加 加完了再string reverse : 其实完全不需要reverse
|
g**********y 发帖数: 14569 | 10 String很好啊,对越界情况容易处理。
public String add(String a, String b) {
StringBuffer c = new StringBuffer();
StringBuffer sa = new StringBuffer(a).reverse();
StringBuffer sb = new StringBuffer(b).reverse();
int N = Math.max(sa.size(), sb.size());
int r = 0;
for (int i=0; i
int bit1 = sa.size()>i? sa.charAt(i)-'0' : 0;
int bit2 = sb.size()>i? sb.charAt(i)-'0' : 0;
int sum = r + bit1 + bit2;
c.append(sum%10);
r = sum/10;
}
if (r > 0) c.append(r);
return c.reverse().toString();
}
【在 v*****k 的大作中提到】 : 其实他就是想让我用个int[]表示。结果我脑子积水非要搞string
|