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

作者: HuangJC (吹笛牧童)   2014-10-03 01:27:48
※ 引述《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

Links booklink

Contact Us: admin [ a t ] ucptt.com