程序员面试精选题 程序员面试题精选算法题加答案

程序员面试精选题 程序员面试题精选算法题加答案

ID:13018781

大小:34.00 KB

页数:10页

时间:2018-07-20

程序员面试精选题 程序员面试题精选算法题加答案_第1页
程序员面试精选题 程序员面试题精选算法题加答案_第2页
程序员面试精选题 程序员面试题精选算法题加答案_第3页
程序员面试精选题 程序员面试题精选算法题加答案_第4页
程序员面试精选题 程序员面试题精选算法题加答案_第5页
资源描述:

《程序员面试精选题 程序员面试题精选算法题加答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序员面试精选100题程序员面试题精选算法58题加答案导读:就爱阅读网友为您分享以下“程序员面试题精选算法58题加答案”的资讯,希望对您有所帮助,感谢您对92to.com的支持!constint*pNextPush=pPush;constint*pNextPop=pPop;//ancillarystackstd::stack<int>stackData;//checkeveryintegersinpPopwhile(pNextPop-pPop<10nLength){//whilet

2、hetopoftheancillarystackisnottheinteger//tobepoped,trytopushsomeintegersintothestackwhile(stackData.empty()

3、

4、stackData.top()!=*pNextPop){//pNextPush==NULLmeansallintegershavebeen//pushedintothestack,can'tpushanylongerif(!pNextPush)break;stackData.p

5、ush(*pNextPush);//ifthereareintegersleftinpPush,10move//pNextPushforward,otherwisesetittobeNULLif(pNextPush-pPush<nLength-1)pNextPush++;elsepNextPush=NULL;}//Afterpushing,thetopofstackisstillnotsameas//pPextPop,pPextPopisnotinapopsequence//correspon

6、dingtopPushif(stackData.top()!=*pNextPop)10break;//CheckthenextintegerinpPopstackData.pop();pNextPop++;}//ifallintegersinpPophavebeenchecksuccessfully,//pPopisapopsequencecorrespondingtopPushif(stackData.empty()&&pNextPop-pPop==nLength)bPossibl

7、e=true;}returnbPossible;10程序员面试题精选100题(25)-在从1到n的正数中1出现的次数题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。用最直观的方法求解并不是很难,但遗憾的是效率不是很高;而要得出一个效率较高的算法,需要比较强的分析能力,并不是件很容易的事情。当然,google的面试题中简单的也没有几道。10首先我们来

8、看最直观的方法,分别求得1到n中每个整数中1出现的次数。而求一个整数的十进制表示中1出现的次数,就和本面试题系列的第22题很相像了。我们每次判断整数的个位数字是不是1。如果这个数字大于10,除以10之后再判断个位数字是不是1。基于这个思路,不难写出如下的代码:intNumberOf1(unsignedintn);///////////////////////////////////////////////////////////////////////////////Findthenumberof1

9、intheintegersbetween1andn//Input:n-aninteger//Output:thenumberof1intheintegersbetween1andn/////////////////////////////////////////////////////////////////////////////intNumberOf1BeforeBetween1AndN_Solution1(unsignedintn){intnumber=0;//Findthenumberof1

10、ineachintegerbetween1andn10for(unsignedinti=1;i<=n;++i)number+=NumberOf1(i);returnnumber;}///////////////////////////////////////////////////////////////////////////////Findthenumberof1inanintegerwithradix10//Input:n-aninteger//Outpu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。