Re: [問題] 請問如何寫出奇偶分離合併程式

看板java作者 (吹笛牧童)時間10年前 (2014/10/03 01:27), 10年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/8 (看更多)
※ 引述《cyclone350 (老子我最神)》之銘言: : 標題: Re: [問題] 請問如何寫出奇偶分離合併程式 : 時間: Thu Oct 2 19:36:56 2014 : 順便借這個機會問問大家 clean code 的粒度會到多細 ? 這句我看不懂 XD 來看一下我的版本 public static void main(String[] args) { String source = "135246"; String dst = ""; int strLen = source.length(); int halfLen = (strLen + strLen % 2) / 2; for(int i = 0; i < strLen; i++) dst += source.charAt(i / 2 + (i % 2) * halfLen); System.out.println(dst); } 如果題目是分三塊 那我會把 / 2 改成 / 3, 把 % 2 改成 % 3 (乾脆設 int part = 2; 取代掉所有 2, 分三塊時就 part = 3) 然後再驗算一下,搞不好就能用了 (halfLen 改名叫 partLen, 每個區塊的長度) : 推 LPH66: 四樓提的那個東西很有趣, 它在 C/C++ 是未定義行為 10/03 00:42 : → LPH66: 但是在 Java 裡是確實會把兩個變數交換的 10/03 00:42 : → LPH66: 不過以編譯器的角度來看傳統交換寫法比較能編出"快"的程式 10/03 00:45 : 推 LPH66: 在 C/C++ 未定義這件事可以看我這篇 #1Deo3lyi (C_and_CPP) 10/03 00:57 : → LPH66: 但是 java 規定運算元的效應要在運算子計算前結算完畢 10/03 00:57 其實這句也看不懂 :P 不過我去看了你那篇 其實你提的是相容性:C 沒標準定義 但微軟範例(我感覺)有點霸道,它未必想要相容性 它要的就是'在 VC 可以跑' 我的 sample, 我的 compiler 可以跑;那就掛保證了 ;; 說到相容性,其實我常把 C++ 寫得像 pascal.... 但那樣 C++ 也不 C++ 了 XDDD -- 睡前不該想你 會讓你走入夢裏 夢裏輕聲笑語 詢問是否還要繼續 那兩年前未竟的嬉戲 我卻不敢當真,怕又被你放棄 樓下奔來鐵騎 電影中才有的場景 蜂火,警笛,還有搜索令 這一幕結束在變調裏 你又再一次從我懷裏被奪去 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.197.63 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1412270871.A.E8D.html ※ 編輯: HuangJC (60.251.197.63), 10/03/2014 01:48:53
文章代碼(AID): #1KBOiNwD (java)
討論串 (同標題文章)
文章代碼(AID): #1KBOiNwD (java)