- 博客(12)
- 收藏
- 关注
原创 剑指offer----面试题11:数值的整数次方
题目:求一个数a的n次方。注意点:(1)0的0次方数学上没有意义。(2)考虑边界值处理。解法:假如要求一个数的32次方,如果我们已经知道了它的16次方,那么只要在16次方的基础上再平方一次就可以了,以此类推。程序中可以通过移位操作来实现。 (a^n/2)*(a^n/2) n为偶数。a^n= (a^n-1/2)*(a^n-/2)*aa为奇数。
2016-04-26 17:23:56 348
原创 剑指offer------写程序时需要考虑的小tips
今天看剑指offer第三章时开头提到了面试官在面试中看重应聘着所写程序的几点,其中就有关于写程序时应该列入考虑范围的一些东西。 1、正常的输入处理。 2、边界值的处理。 3、错误的输入处理。 示例:编写一个将字符串转化成整数的程序。 代码: #include #include using namespace std; bool stringToint(const char
2016-04-25 15:18:37 351
原创 Muduo Buffer和Google protobuf
Muduo Buffer 实现思路首先用作者给出的图说明:可以看到有两个下标rederIndex 和 writerIndex 来控制buffer的读取和写入。 +-------------------+------------------+------------------+ | prependable bytes | readable bytes | wri
2016-04-17 09:03:45 588
原创 动态划归:最长公共子串和最长公共子序列--LCS
一、最长公共子序列--LSC(Longest Common Subsequence) (1)概念:一个字符串的子序列是指从该字符串中去掉任意多个字符后剩下的字符在不改变顺序的情况下组成的新字符串。例如cnblogs和belong的公共子序列为blog,仔细想想我们可以发现其实最长公共子序列的个数不是唯一的,有可能会有两个以上,但长度一定是唯一的。 (2)解决
2016-04-14 10:38:56 404
原创 微软2016校园招聘4月在线笔试2-403 Forbidden
描述Little Hi runs a web server. Sometimes he has to deny access from a certain set of malicious IP addresses while his friends are still allow to access his server. To do this he writes N rules in th
2016-04-13 09:41:33 394
原创 编程之美 1.16 24点游戏
24点游戏:给玩家4张牌,面值在1~13之间,允许其中有数值相同牌。采用加、减、乘、除四则运算,允许有小数可以使用括号,使其运算结果为24。解:(1)穷举法 假设给定的4个数组成的集合为A={1,2,3,4},定义函数f(A)为对集合A中的元素进行所有可能的四则混合运算所得到的值。 首先从A中任意取两个数,对取出来的数分别进行不同的四则运算,
2016-04-12 15:30:02 739 1
原创 关于分层遍历二叉树
问题:给定一棵二叉树,要求按分层遍历二叉树,即从上到下按层次访问该二叉树,每一层要求访问顺序为从左到右。解:首先从根节点出发,依次将每层的节点从左到右压入一个数组,并用一个游标cur记录当前访问的节点,另一个游标Lost指示当前层次的最后一个节点的下一个位置,以cur==last作为当前层次访问的结束条件,在访问某一层的同时将该层的所有节点的子节点压入数组,直到访问完所有层次。代码
2016-04-10 16:50:51 461
原创 如果链表可能有环,判断两个链表是否相交?
题目来源:编程之美 《3.6 编程判断两个链表是否相交?》的扩展问题。上网查找了写资料现做个总结。可以分两步:(1)判断两个链表是否有环?若有环,入口点是什么?(2)判断是否相交?第一个问题的典型解法为设置两个指针p1和p2,p1每次走一步,p2每次走两步,若有环,则p1和p2一定会相遇,否则没有环。当p1和p2相遇时,另p2回到链表起始处,每次走一步和p1同时移动
2016-04-07 21:40:28 404
原创 编程之美2.21 只考加法的面试题
问题1:写一个程序,对于一个数,输出他所有可能的连续自然数之和的算式。解:num = a + a+1 + a+2 + a+3 + ...... + a+k-2 + a+k-1 = k(a+a+k-1)/2 = ka + k(k-1)/2 k是整数,a是整数,所以k(k-1)/2也是整数。#include using namespa
2016-04-06 20:39:06 624 1
原创 蛇形矩阵(螺旋矩阵)
晚上参加腾讯2016实习生网上笔试,结果一团糟,提前交了之后对最后一个蛇形矩阵的编程题心有不甘,于是就花了点时间,最终还是搞出来了。蛇形矩阵,又称为螺旋矩阵,如下图所示。解法很简单,只是有点绕,因为都是数字很自然的矩阵用数组存储,那么如何判断什么时候转弯换方向呢?首先一开始先将最外层建立起来,将这层“围墙”建立起来后面就好办了,这层根据输入的矩阵大小而定,非常容易建立,
2016-04-03 21:54:43 2047
原创 小数的精确表达
题目:给定一个有限小数或无限循环小数,你能否以分母最小的分数形式来返回这个小数呢?解法:1、对于有限小数X=0.a1a2…an来说比较简单,X就等于(a1a2…an)/10^n。2、对于无限循环小数X=0.a1a2…an(b1b2…bm)做如下转换:X = 0.a1a2…an(b1b2…bm) => 10^n*X = a1a2…an+0.(b1b2…bm)另Y = 0.(b1b
2016-04-03 15:05:45 363
原创 寻找最大的k个数
问题:找出一个序列中最大的k个数。解法:一、假设N个数存储在数组S中,我们从数组S随机找出一个元素X,把数组分成为两个部分Sa和Sb。Sa中元素大于等于X,Sb中的元素小于X。则有两种可能性:1.Sa中元素的个数小于k,Sa中所有的数的和Sb中最大的k-|Sa|个元素就是S中最大的k个数。 2.Sa中的个数大于或等于k,则返回Sa中最大的k个元素。
2016-04-01 11:12:27 278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人