Re: [問題] 面試時遇到的問題
: 推 a9:那如果輸入值不在 a-e 的範圍內...XDDD
: 推 alinmoai:前提已經說了 value的範圍 所以就解題
: → alinmoai:而言沒有問題
: → journeyman:不在a-e還不簡單 就弄個127項的陣列
: → journeyman:或者255項 再用logic op'tor cancel掉
: → journeyman:其餘區域
想了一下,發現連暴力法都不用。
map 'a', 'b', 'c', 'd', 'e' 到 2, 5, 1, 4, 3: (略)
map 'a', 'b', 'c', 'd', 'e' 到 2, 5, 1, 4, 3 並對超過 'e' 的輸入傳回 0 :
const int ar[]={0,2,5,1,4,3};
return ar[ (value-'a'+1) * (value<='e') ];
map 'a', 'b', 'c', 'd', 'e' 到 2, 5, 1, 4, 3
並對所有不在 [abcde] 之內的輸入都傳回 0 :
const int ar[]={0,2,5,1,4,3};
return ar[ (value-'a'+1) * (value<='e' && value>='a') ];
這在C++一樣是可以用的,coercion既然沒有取消,大可好好利用。
但是還是下面那一句話
: → journeyman:但是題目已經講明了,不用自己想太多。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.207.199
討論串 (同標題文章)