问个面试题,有些不明白
问个面试题,有点不明白把一个unsigned char的数按照各位逆序,生成一个数,用最小的时间复杂度算出,强调算法
问个面试题,有点不明白
把一个unsigned char的数按照各位逆序,生成一个数,用最小的时间复杂度算出,强调算法复杂度最小
------解决方案--------------------
不知可否?
unsigned char getval(unsigned char uc)
{
if(uc==0)return uc;
unsigned char rtn = 0;
for(int i=0;i<8;i++)
{
rtn=((rtn+((uc>>i)&1))<<(i<7?1:0));
}
return rtn;
}