Re: [心得] 學界轉業界...google面試洗臉心得

看板Soft_Job (軟體人)作者時間9年前 (2017/04/19 23:09), 9年前編輯推噓5(5015)
留言20則, 10人參與, 最新討論串3/8 (看更多)
作者: seiching (light) 看板: Soft_Job 標題: Re: [心得] 學界轉業界...google面試洗臉心得 時間: Wed Apr 19 23:09:17 2017 int flag; for(i=1;i<n;i++){ flag=0; if (i % 3 ==0) flag=1; if (i % 5 ==0) flag+=2; switch (flag){ case 0: System.out.println(i); break case 1: System.out.println("Fizz"); break; case 2: System.out.println("Buzz"); break; case 3: System.out.println("FizzBuzz"); break; } } 這樣會不會快一點點,使用int當flag,效能會略好,每個bit代表一種可能, 32 bit,可以有32種可能,後續擴充性較好,每個人習慣不同,謝謝大家指教了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.182.5 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1492614560.A.012.html

04/19 23:17, , 1F
會喔,少印一次n
04/19 23:17, 1F

04/19 23:26, , 2F
會喔,很快就發現編不過
04/19 23:26, 2F
※ 編輯: seiching (60.251.182.5), 04/19/2017 23:28:11 ※ 編輯: seiching (60.251.182.5), 04/19/2017 23:33:56

04/19 23:37, , 3F
把int宣告在for迴圈裡面... 應該是快不了的
04/19 23:37, 3F

04/19 23:40, , 4F
第一版一堆if沒特別好的感覺.. 第二版的flag可以在loop
04/19 23:40, 4F

04/19 23:40, , 5F
04/19 23:40, 5F
※ 編輯: seiching (59.124.228.83), 04/19/2017 23:42:04 ※ 編輯: seiching (59.124.228.83), 04/19/2017 23:42:19

04/20 00:15, , 6F
這樣的寫法 switch case 是 2^N
04/20 00:15, 6F

04/20 00:16, , 7F
再多一個 7 加進來的話,就要 case 0 ~ case 7 了
04/20 00:16, 7F

04/20 02:35, , 8F
你要不要刪掉 既沒效能又難維護
04/20 02:35, 8F

04/20 10:54, , 9F
實際測了6次,n=65535,平均快了約1%,integer加法比string
04/20 10:54, 9F

04/20 10:57, , 10F
快一點點,switch影響不大
04/20 10:57, 10F

04/20 14:30, , 11F
現在電腦很快,跑65535才幾次,又用C的話根本看不出差別
04/20 14:30, 11F

04/20 19:07, , 12F
多了switch判斷 多用了變數 就算效能差不多 這樣寫的
04/20 19:07, 12F

04/20 19:07, , 13F
風格也不好吧
04/20 19:07, 13F

04/20 20:40, , 14F
我記得早上看我有看到一個噓...
04/20 20:40, 14F

04/20 20:41, , 15F
抱歉 我看到刪文的了...
04/20 20:41, 15F

04/20 22:07, , 16F
Branch超多,預測失敗就會更多,你說效能差不多是因為你沒
04/20 22:07, 16F

04/20 22:07, , 17F
有用到字串串連,同樣直接輸出字串這個效率比較差
04/20 22:07, 17F

04/20 22:08, , 18F
第二個是維護性,這應該不需要討論了,這個擴充性非常差
04/20 22:08, 18F

04/20 22:09, , 19F
寧願效能差好維護,不然就是效能贏過很多,第二點達不到就
04/20 22:09, 19F

04/20 22:09, , 20F
選第一點
04/20 22:09, 20F
※ 編輯: seiching (60.251.130.137), 04/21/2017 10:30:52
文章代碼(AID): #1OztsW0I (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1OztsW0I (Soft_Job)