看板 java 關於我們 聯絡資訊
忽然覺得我好無聊 @_@ 把目前板上全部的實作整理起來,得: godfat ~/p/t/padding> javac Padding.java godfat ~/p/t/padding> java -server Padding Padder_silver8250: 1297 ms. Padder_godfat_fill: 965 ms. Padder_infinitlee: 6550 ms. Padder_godfat_pre: 661 ms. Padder_pao0111: 628 ms. Padder_godfat_buf: 533 ms. ※ 引述《pao0111 (理想絕非空想)》之銘言: 最後一個 buf 是改自您的 @_@ class Padder_godfat_buf extends Padder{ private char[] buffer = new char[0]; public String pad(String str, char ch, int size){ if(buffer.length < size) buffer = new char[size]; if(size <= str.length()) return str; System.arraycopy(str.toCharArray(), 0, buffer, 0, str.length()); java.util.Arrays.fill(buffer, str.length(), size, ch); return new String(buffer); } } 測資是: private static long benchmark(Padder padder){ long start = System.currentTimeMillis(); for(int i=0; i<500000; ++i) padder.pad_spaces("abc", 50); for(int i=0; i<500000; ++i) padder.pad_spaces("abc", (int)(Math.random()*100)); for(int i=0; i<500000; ++i) padder.pad_spaces("012345678901234567890123456789012345678901234567890 123456789", (int)(Math.random()*100)+20); for(int i=0; i<500000; ++i) padder.pad_spaces("012345678901234567890123456789012345678901234567890 123456789012345678901234567890123456789012345678901234567890123456789", (int)(Math.random()*100)+50); return System.currentTimeMillis() - start; } Padder 是: abstract class Padder{ public String pad_spaces(String str, int size){ return pad(str, ' ', size); } public String pad(String str, char ch, int size){return "Not Implemented";} } 晚點用 C++/D 寫寫看 @_@ -- By Gamers, For Gamers - from the past Interplay -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.121.85
infinitlee:泣...看到自己的程式,效能這麼差,好丟臉... 04/28 13:44
qrtt1:唔, 沒什麼好泣的:P 除非您的程式很依賴這個功能, 才需要泣 04/28 14:09
godfat:比短的話,您第一名...XD 04/28 14:46
silver8250:godfat 這句話真是 ... 囧 04/28 16:15
pao0111:g大真努力^^ 04/28 19:54
infinitlee:那下次寫長一點好了XD...男人最恨別人說他短 04/28 22:06
godfat:比時間是最長啊,別擔心 XD 04/30 13:52