摘要: 题目:写一个函数,求两个整数之和,要求在函数体内不得实用+、-、x、%四则运算符。 接下来我们试着把二进制的加法用位运算来替代。第一步不考虑进位对每一位相加。0加0、1加1的结果都为0,0加1、1加0的结果都是1。我们注意到,这和异或的结果是一样的。对异或而言,0和0、1和1异或的结果是0,而0和1 阅读全文
posted @ 2018-06-27 20:12 樱圃 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写出程序找出这两个只出现一次的数字。要求时间复杂度为o(n),空间复杂度是o(1)。 这两个题目都在强调一个(或两个)数字只出现一次,其他的出现两次。这有什么意义呢?我们想到异或运算的一个性质:任何一个数字异或它自己都等于0。也就是说, 阅读全文
posted @ 2018-06-27 19:59 樱圃 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 写一个函数,输入n,求斐波那契数列(Fibonacci)数列的第n项。斐波那契数列定义如下: 当n=0时,f(n)=0;当n=1时,f(n)=1;当n>1时,f(n)=f(n-1)+f(n-2)。 效率很低的解乏,挑剔的面试官不会喜欢。 我们以求解f(10)为例来分析递归的求解过程。想求得f(10) 阅读全文
posted @ 2018-06-27 19:03 樱圃 阅读(387) 评论(0) 推荐(0) 编辑