笔试面试题
文章平均质量分 77
Scandinavians
明天会更好!
展开
-
寻找主元素(高效算法)
关于这种主元素还有种更加巧妙地方法,没看到过一定想不到的。这种方法的原理是如果一个数组中存在一个主元素(个数大于n/2),则同时删除两个不相等的值,这个主元素不会改变。简单的说就一个大小为n数组中存在一个元素的个数大于n/2,则如果用这个数组中其他元素和该主元素进行抵消的话,最后剩下的一定是主元素,因为主元素个数最多。该方法可以在O(n)的时间内找到主元素,十分高效。代码:原创 2014-06-24 21:09:59 · 4771 阅读 · 1 评论 -
1的数目
《编程之美 》2.4问题:给定一个十进制正整数N,写下从1kais原创 2014-08-04 16:05:06 · 416 阅读 · 0 评论 -
两个字符串的最长公共子串(子串为连续的)
问题:求两个字符串的最长的公共子串,子串是连续原创 2014-07-01 01:56:51 · 1015 阅读 · 0 评论 -
N!的末尾有几个零以及二进制表示最右边1的位置
很经典的一道数学题:求n!后面有多少个0。 N的阶乘可以分解为: 2的X次方,3的Y次方,4的5次Z方,.....的成绩。由于10 = 2 * 5,所以M只能和X和Z有关,每一对2和5相乘就可以得到一个10,于是M = MIN(X,Z),不难看出X大于Z,因为被2整除的频率比被5整除的频率高的多。所以可以把公式简化为M=Z. 由上面的分析可以看出,只要计算处Z的值,就原创 2014-06-26 00:51:52 · 976 阅读 · 0 评论 -
求数组的子数组之和的最大值
问题:对于一个无序数组,数组中的每个元素可正可负,对于每一个子数组原创 2014-06-25 17:58:27 · 533 阅读 · 0 评论 -
单链表的翻转&倒数第K个结点&中间结点&对齐打印
单链表的翻转,见代码:void reverse(pNode *pList){ pNode pre,curr,nxt; pre = curr = nxt = NULL; for (curr = *pList; curr;nxt = curr->next,curr->next = pre,pre = curr,curr = nxt); *pList = pre;}需要san原创 2014-06-23 20:23:36 · 391 阅读 · 0 评论 -
求数组中最长递增子序列
《编程之美》 2.16问题:写一个时间复杂度尽可能di原创 2014-08-07 18:49:47 · 457 阅读 · 0 评论 -
最大公约数问题
解法1:辗转相除法。代码1:原创 2014-08-04 22:05:42 · 350 阅读 · 0 评论 -
子数组之和的最大值(二维)
解法一:遍历,穷举。代码一:原创 2014-08-06 21:44:01 · 408 阅读 · 0 评论 -
两个字符串的最长公共子序列(可以不连续)
问题:给定两个字符串,输出其最长公共子序列及其长度。解法:此问题为动态规划的经典问题。解题有固定套路利用二维数组C,和标志位数组FLAG(表示回溯方向):步骤一:构建二维数组,求得最长公共子序列的长度。步骤二:利用数组C构建数组FLAG。步骤三:利用初始字符串和FLAG回溯输出最长公共子序列。数组C的构建方式:回溯输出最长公共子序列过程:上图中的箭头即为原创 2014-07-01 18:25:52 · 1266 阅读 · 0 评论 -
斐波那契(Fibonacci)数列的求法
斐波那契数列是这样的一组数列:0,1原创 2014-06-26 02:56:57 · 1047 阅读 · 0 评论 -
利用快速排序中的切分函数寻找数组主元素
如果一个数组A[1..n]中超过半数的元素都相同时,该数组被称为含有主元素。原创 2014-06-24 17:47:49 · 595 阅读 · 0 评论 -
牛顿迭代法求开方值
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之原创 2014-08-03 19:59:53 · 1007 阅读 · 0 评论 -
计算字符串的相似度
《编程之美》 3.3 计算字符串的相似度原创 2014-08-09 04:29:37 · 545 阅读 · 0 评论 -
点是否在三角形内
《编程之美》 4.4 点是否在sanjiaoxingnei原创 2014-08-09 03:05:00 · 639 阅读 · 0 评论 -
数组分割
《编程之美》 2.18 数组分割原创 2014-08-08 19:06:27 · 529 阅读 · 0 评论 -
子数组的最大乘积
《编程之美》 2.13问题:geidi原创 2014-08-06 15:25:01 · 403 阅读 · 0 评论 -
[C语言]嵌入式程序员应该知道的0x10个问题
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计转载 2014-07-15 14:59:36 · 575 阅读 · 0 评论 -
数组的循环右移
问题:把一个含有N个元素的数组循环右移K位,要求时间复杂度O(N),原创 2014-06-26 19:22:51 · 542 阅读 · 0 评论 -
二进制数中1的个数
问题:求二进制数中1的个数。思路:对二进制数的meiyi原创 2014-06-25 22:01:15 · 365 阅读 · 0 评论 -
不用循环和递归计算1+2+3+...+100的值
利用类的静态成员变量以及lei原创 2014-06-26 05:05:38 · 2573 阅读 · 0 评论 -
从先序遍历和中序遍历结果重建二叉树
问题:给定二叉树的先序遍历和中序遍历字符串结果,原创 2014-07-01 21:44:12 · 391 阅读 · 0 评论 -
螺旋队列(内螺旋队列以及外螺旋队列)
外螺旋队列问题:原创 2014-07-02 00:24:08 · 886 阅读 · 0 评论 -
约瑟夫环问题的数学分析解
约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。原创 2014-07-04 23:35:18 · 923 阅读 · 0 评论 -
打印二叉树根结点到所有叶子结点的路径
打印路径的思路:利用yig原创 2014-07-06 13:00:33 · 1950 阅读 · 0 评论 -
内螺旋队列的另一种求解方式
文章《打印螺旋矩阵》对nei原创 2014-07-04 18:32:25 · 507 阅读 · 0 评论 -
求二叉树的镜像
求解二叉树的镜像方式原创 2014-07-05 20:29:32 · 446 阅读 · 0 评论 -
不使用中间变量实现strlen函数
2009腾迅校园招聘笔试题:不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数。函数接口声明如下:int strlen(const char *p);思路分析: “不使用中间变量”是说程序员不能显式的申请内存,即不能有局部变量或者动态内存申请。如果函数自动申请栈内存或者使用寄存器存储变量,或者使用立即数寻址即常量,那么就相当于“不使用中间变量”。从函数原转载 2014-07-02 17:38:42 · 428 阅读 · 0 评论 -
判断二叉树是否平衡以及二叉树的路径和
问题一:查找二叉树是否有满足和值原创 2014-07-06 15:10:36 · 400 阅读 · 0 评论 -
字符串移位包含的问题
问题:给定两个字符串s1和s2,要求判定s2s原创 2014-06-26 21:34:16 · 376 阅读 · 0 评论 -
寻找最大的K个数
问题:查找大量无序元素中最大的K个数。原创 2014-08-04 20:27:53 · 482 阅读 · 0 评论 -
大小端存储复习题
写出下列程序的输出结果:#include int main(){ unsigned long res = 0; unsigned long array [] = {0x01020304,0x05060708}; char *p = (char*)&array[0]; p += 2; res = (unsigned long)*p; printf("res = 0x%08x原创 2014-07-15 13:37:52 · 544 阅读 · 0 评论 -
[C/C++语言测试题]高质量程序设计指南
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)请写出 BOOL flag 与“零值”比较的 if 语句。(3分)标准答案: if ( flag ) if ( !flag )如下写法均属不良风格,不得分。 if (flag == TRUE)转载 2014-07-15 15:32:13 · 450 阅读 · 0 评论 -
求二叉树中节点的最大距离
《编程之美》 3.8 求二叉树节点中的zuida原创 2014-08-09 23:58:14 · 420 阅读 · 0 评论