推 pika0923:原題好像沒有排除[2, 2, 2, 2]這種連續長度4以上的 07/04 13:03
原題的題意有很清楚的表達「相鄰」的概念,
是板上很多人不知道為什麼複雜化,
原題的陣列一是在說明,以某位置為中心,向左與向右的「相鄰」,
原題的陣列二是在說明,以某位置為中心,向左或向右的「相鄰」,
之前我在面試人的時候也是很多人題意都搞錯。
假設陣列為[1, 2, 3, 4]
頂多也只有這些排列,
左邊與右邊的相鄰:[1, 2, 3]、[2, 3, 4]
左邊或右邊的相鄰:[1, 2]、[2, 3]、[3, 4]
下面這種排列是沒有
四個以上:[1, 2, 3, 4]
因為不構成「相鄰」的概念
→ pika0923:唉呀 原原po說他半個小時沒想出來 大家自然會複雜化嘛 (? 07/04 13:30
其實這時候應該像面試官提出問題點,然後請面試官解釋題意,
或者寫出來後,
可以跟面試官說明為什麼這樣寫的想法,與自己所認解的題意為何。
這種面試通常都不會考太難,這一題30分鐘我覺得應該是希望面試者謹慎點,
要不然就是在試後當場key in紙上的程式碼看結果,但這太狠了…
推 lovdkkkk:負數的 case 好像很少, 應該可以直接判斷掉 07/04 13:32
→ pika0923:那題我當時看到題目後花了一整天才作出那個解 07/04 13:55
推 michael0728n:不認為四個不算相鄰 不過認同你說的 該問面試官XD 07/04 15:28
→ descent:不認為四個不算相鄰, 問面試官 +1 07/04 16:10
→ y3k:如果四個不算相鄰那真的沒什麼XD 07/04 16:37
其實因為原文底下有人說ACM 11059,
但實際上這題跟ACM 11059的題目差很多,
然後一推人的回答都是ACM 11059…
這是ACM 11059的題目 http://ppt.cc/nhYu
我貼一部分上來
The Problem
Given a sequence of integers S = {S1, S2, ..., Sn}, you should determine what
is the value of the maximum positive product involving consecutive terms of
S. If you cannot find a positive sequence, you should consider 0 as the value
of the maximum product.
簡單講就是
1. 給一串數列,要計算其中「連續」數列相乘的最大正數值
2. 如果沒有最大正數值,請回傳0
跟原PO的題意差蠻多的,然後回文多少人是根據ACM 11059再回的?
另外很有趣的一點,
如果連續四個數字算相鄰,那連續數字與相鄰數字的差別在?
難道打麻將,對家叫做相鄰?
難道過年排福袋,第一位與最後一位也叫做相鄰?
我只能說,哪間公司的考題!?面試官給我出來面對!!
※ 編輯: StupidGaGa (60.249.117.38), 07/04/2014 17:10:14
→ pika0923:其實那題n才18 依那題回的話不會有那麼多人執著線性作法 07/04 17:05
→ pika0923:大家的想法你可以視為"相鄰整數間可以插入乘號"來求值 07/04 17:09
→ pika0923:至於福袋 如果說"相鄰兩人算同一列" 那頭尾兩人的確同列 07/04 17:14
推 lovdkkkk:的確我也覺得要寫 code 的話會想再確認 n (> 3) 點... 07/04 18:04
→ adrianc:不認為四個不算相鄰 +1 07/04 18:42
推 dementia:因為原po說的是相鄰「互」乘,所以很容易被解讀成,如果 07/04 21:09
→ dementia:沒中斷,就一直乘下去…XD 07/04 21:09
→ TonyQ:其實你不也沒問面試官的前提下假設相鄰的解釋 :P 07/04 23:37