- 博客(6)
- 收藏
- 关注
转载 面试题12: 打印1到最大的n位数(递归解法,全排列的递归解法)
题目:输入数字n,按顺序打印出从1到最大的n为十进制数,比如输入3,则打印出1、2、3一直到最大的3位数即999 代码://Recursively reslovevoid Print1ToMaxOfNdigitalRecursively(char *number, int length, int index){ if (index == length - 1)
2015-05-29 17:18:25
754
转载 面试题12: 打印1到最大的n位数v
题目:输入数字n,按顺序打印出从1到最大的n为十进制数,比如输入3,则打印出1、2、3一直到最大的3位数即999代码:void Print1toMaxOfNDigital(int n){if(n return; char *number = (char *)malloc(sizeof(char) * (n + 1)); memset(n
2015-05-29 16:21:51
547
翻译 面试题9:斐波那契数列
题目一:写一个函数,输入n,求斐波那契数列的第n项,斐波那契数列的定义如下:0 n = 0f(n) = 1 n = 1f(n - 1) + f(n - 2) n > 1递归: long long Fibonacci(unsigned int n)
2015-05-08 11:02:15
492
转载 面试题10:二进制1的个数
最好的方式:思想:一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进制表示中有多少个1,就可以进行多少次这样的操作。int NumberOf1(int n){int count = 0;while(n != 0){count++:n = (n - 1) & n;} return count;}
2015-05-08 10:35:55
406
转载 数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。要求时间复杂度为o(n),空间复杂度为o(1).例如:{2,4,3,6,2,3,5,5},输出4、6首先若是只存在一个出现一次的数字,找出此数字,就是通过异或。若是存在两个,解决思路:将这两个不同的数字分在不同的两个组中,每个组只存在一个出现一次的数字。分组方法:1、全部异或,然后
2015-05-08 10:14:17
466
转载 面试题40:顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每个数字,例如:如果输入一下矩阵:1 23 45 67 89 1011 1213 1415 16则依次打印出数字1、2、3、4、8、12、16、15、14、13、9、5、6、7、11、10绘制图形有利于帮助解题源代码:static void PrintMatrixClo
2015-05-08 09:33:04
441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人