u*****o 发帖数: 1224 | 1 是写完了,不是写对了,但对我来讲也是质的飞跃。。以前看到这道题就头疼,懒的仔
细去想,今天硬着头皮沉下心,写了一遍。。虽然还是有错,但改了几个地方后也差不
多了。。。
以前觉得这辈子我也写不对这个题了,现在似乎看到曙光了,果真人的潜力是无限的,
只要肯钻,起码和自己比,一定是前进的。。。
想起初中的课文,而山不加增,何苦而不平。。。
嘿嘿,去买冰激凌奖励自己~~大家努力刷题啊! |
h******s 发帖数: 86 | 2 山在增加
【在 u*****o 的大作中提到】 : 是写完了,不是写对了,但对我来讲也是质的飞跃。。以前看到这道题就头疼,懒的仔 : 细去想,今天硬着头皮沉下心,写了一遍。。虽然还是有错,但改了几个地方后也差不 : 多了。。。 : 以前觉得这辈子我也写不对这个题了,现在似乎看到曙光了,果真人的潜力是无限的, : 只要肯钻,起码和自己比,一定是前进的。。。 : 想起初中的课文,而山不加增,何苦而不平。。。 : 嘿嘿,去买冰激凌奖励自己~~大家努力刷题啊!
|
s*******s 发帖数: 1031 | 3 con!! 羡慕,我也开始好好写一下。
【在 u*****o 的大作中提到】 : 是写完了,不是写对了,但对我来讲也是质的飞跃。。以前看到这道题就头疼,懒的仔 : 细去想,今天硬着头皮沉下心,写了一遍。。虽然还是有错,但改了几个地方后也差不 : 多了。。。 : 以前觉得这辈子我也写不对这个题了,现在似乎看到曙光了,果真人的潜力是无限的, : 只要肯钻,起码和自己比,一定是前进的。。。 : 想起初中的课文,而山不加增,何苦而不平。。。 : 嘿嘿,去买冰激凌奖励自己~~大家努力刷题啊!
|
s********x 发帖数: 914 | 4 切磋一下
public static ArrayList multiplyBigInterger(List num1,
List num2) {
if (num1 == null || num1.isEmpty() || num2 == null || num2.isEmpty()
) {
throw new IllegalArgumentException("Invalid input");
}
if (num1.size() < num2.size()) {
return multiplyBigInterger(num2, num1);
}
// num1.size() >= num2.size()
ArrayList result = new ArrayList(num1.size()
+ num2.size());
for (int j = 0; j < num2.size(); j++) {
int c = 0, resultIndex = 0;
for (int i = 0; i < num1.size(); i++) {
resultIndex = i + j;
if (resultIndex >= result.size()) {
result.add(0);
}
int n1 = num1.get(i);
int n2 = num2.get(j);
checkValidSingleDigit(n1);
checkValidSingleDigit(n2);
int v = n1 * n2 + c + result.get(resultIndex);
result.set(resultIndex, v % 10);
c = v / 10;
}
while (c > 0) {
if (++resultIndex < result.size()) {
c += result.get(resultIndex);
result.set(resultIndex, c % 10);
} else {
result.add(c % 10);
}
c /= 10;
}
}
return result;
}
Test:
List n1 = Arrays.asList(9);
List n2 = Arrays.asList(9, 9, 9);
for (int i = n1.size() - 1; i >= 0; i--) {
System.out.print(n1.get(i));
}
System.out.print(" X ");
for (int i = n2.size() - 1; i >= 0; i--) {
System.out.print(n2.get(i));
}
System.out.print(" = ");
ArrayList r = multiplyBigInterger(n1, n2);
for (int i = r.size() - 1; i >= 0; i--) {
System.out.print(r.get(i));
} |
c****p 发帖数: 6474 | |
s********x 发帖数: 914 | 6 那要优化恐怕得用char or byte
【在 c****p 的大作中提到】 : 一个元素存一位是不是太浪费了。
|