作者journeyman (快杰鸟天侠 XD)
看板Programming
标题Re: [问题] 面试时遇到的问题
时间Wed Aug 6 21:42:15 2008
: 推 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