TASK: namenum
LANG: JAVA
Compiling...
Compile: OK
Executing...
Test 1 OK [0.281333333333333 secs]
Test 2 OK [0.339333333333333 secs]
Test 3 OK [0.466 secs]
Test 4 OK [0.276 secs]
Test 5 OK [0.276666666666667 secs]
Test 6 OK [0.276666666666667 secs]
Test 7 OK [0.298 secs]
Test 8 OK [0.404 secs]
Test 9 OK [0.55 secs]
Test 10 OK [0.900666666666667 secs]
Test 11 OK [0.479333333333333 secs]
Test 12 OK [0.908666666666667 secs]
Test 13 OK [0.281333333333333 secs]
Test 14 OK [0.278 secs]
Test 15 OK [0.273333333333333 secs]
All tests OK.
Your program ('namenum') produced all correct answers! This is your
submission #23 for this problem. Congratulations!
關于效率問題的總結:
1.遞歸與非遞歸:差別不大,前者test9用時1.6s,后者test9用時1.8s(我的非遞歸還慢些,汗,遂用遞歸的那個版本)
2.關于類庫中函數的效率:
(1)使用Arraylist.add>LinedList.add()> Vector.add().
(2)使用StringBuilder代替 StringBuffer:后,效率提高不少,下圖為證.
TASK: namenum
LANG: JAVA
Compiling...
Compile: OK
Executing...
sending data namenum
Test 1 OK [0.284666666666667 secs]
Test 2 OK [0.338666666666667 secs]
Test 3 OK [0.434666666666667 secs]
Test 4 OK [0.274666666666667 secs]
Test 5 OK [0.272666666666667 secs]
Test 6 OK [0.276666666666667 secs]
Test 7 OK [0.296666666666667 secs]
Test 8 OK [0.394 secs]
Test 9 OK [0.466 secs]
Test 10 OK [0.658 secs]
Test 11 OK [0.464 secs]
Test 12 OK [0.660666666666667 secs]
Test 13 OK [0.278666666666667 secs]
Test 14 OK [0.277333333333333 secs]
Test 15 OK [0.273333333333333 secs]
All tests OK.
Your program ('namenum') produced all correct answers! This is your
submission #24 for this problem. Congratulations!
(3)瓶頸:下面的語句塊在多次執行后表現出極低的性能
{
StringBuffer name;
Vector.add(name.toString());
}
如果改成Vector.add("hello");則問題得到解決,說明當參數是常量時,Vector.add()有較好的性能,但如果參數是變量,性能就不行了.
posted on 2006-01-06 14:46
gosyl 閱讀(281)
評論(0) 編輯 收藏 所屬分類:
ACM,算法