腾讯2016研发工程师编程题
2016-05-26 15:03
253 查看
本题目只是针对题目要求,只是其中一种解决方案,如有更好的解法请留言讨论
如果大家仔细观察,格雷码其实是有规律的,他一定会出现2的n次幂,并且除去首位和前n-1位是镜像对称的。
class GrayCode {
public:
vector<string> getGray(int n) {
// write code here
if(n==1)
{
vector<string> v(2);
v[0]="0";
v[1]="1";
return v;
}
vector<string> tmp=getGray(n-1);
vector<string> v(2*tmp.size());
for(unsigned int i=0;i<tmp.size();i++)
{
v[i]="0"+tmp[i];
}
for(unsigned int i=tmp.size();i<v.size();i++)
{
v[i]="1"+tmp[v.size()-i-1];
}
return v;
}
};
本题的性质是一个数出现的次数超过数组一般的题目变形
Talk is cheap, show me the code
class Gift {
public:
int getValue(vector<int> gifts, int n) {
// write code here
int len=gifts.size();
if(len<=1||n<=1)return 0;
int money=gifts[0];int times=1;
for(int i=1;i<len;i++)
{
if(gifts[i]==money)times++;
else
{
times--;
if(times==0)
{
money=gifts[i];
times=1;
}
}
}
times=0;
for(int i=0;i<len;i++)
{
if(money==gifts[i])times++;
}
return times*2>len?money:0;
}
};
相关文章推荐
- 国外程序员推荐:每个程序员都应读的书
- 三星18年来首次削减研发投资 总部裁员2500人
- 苹果单季研发支出超25亿美元创新高 用在汽车项目了?
- 【北京】猎头代知名互联网公司高薪急聘android、ios客户端开发工程师
- 基于NXP523芯片,射频读卡器,支持二代证ID,ISO14443A/B
- 是我老了,还是时代变了
- 勇于创新、长于创新:PMC在CNBC的创新报告中名列第十一名
- 今天面试了两个程序猿(二)
- 深圳视晶无线技术有限公司 狗血经历
- 无线自动卷帘门智能无噪音
- 文通车牌识别
- ITIL,初涉
- 最新研发,谷歌最新动态!!
- 立体定向多位修复术适用范围
- 阿里校招-java研发 题目
- ARM飞思卡尔I.MX6开发板I.MX6Q核心板 IMX6 cortex A9双网口
- 现代高低温环境试验箱物联网速度的发展要求
- 浅议驻波测量中的经典误差
- 转载(工信部)李丹丹 杭州天宽科技有限公司