
面试总结
hzsjun
这个作者很懒,什么都没留下…
展开
-
合并两个排序链表
题目:将两个已经排序的单向链表合并为一个链表,要求空间复杂度尽可能的小。思路:典型的归并排序思路,需要注意的两个地方时:1,怎样做到新链表不申请新的空间?2,代码尽量简洁?下面是我的解答,希望跟各位网友一起讨论,算法本身是否有优化之处?如何能改进代码风格?[cpp] view plaincopyprint?#include "stdafx.h"转载 2013-01-02 20:40:10 · 315 阅读 · 0 评论 -
C/C++笔试题 (二)
12 . 下面的代码输出是什么,为什么?void foo(void){ unsigned int a = 6; int b = -20; (a+b > 6) ? puts("> 6") : puts("}这个问题测试你是否懂得C语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是 ">6"。原因是当表达式转载 2013-01-12 20:30:49 · 2842 阅读 · 0 评论 -
C/C++笔试题 (三)
1、写一个“标准”宏,这个宏输入两个参数并返回较小的一个。.#define Min(X, Y) ((X)>(Y)?(Y):(X))//结尾没有;2、嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。while(1){}或者for(;;)3、关键字static的作用是什么?定义静态变量4、关键字const有什么含意?表示常量不可以修改的变量。5、关键字volati转载 2013-01-12 20:31:59 · 1619 阅读 · 0 评论 -
BiTree 二叉树 基础算法及常见题目总结
1,对二叉树的几个相关概念的理清(概念内容均来自算法导论附录B的内容)(1),树:是一个连通的,无回路的无向图,如果无向图是无回路但是非连通的,称为“森林“ (2),有根树和有序树有根树是一颗自由树,它有一个与其他点不同的结点,为树的“根”,根是唯一没有双亲的结点,没有子女的结点是叶结点或外部结点。有根树结点的子女数称为结点的“度”,结点在树中的高度是结点向下到某个叶转载 2013-01-02 20:52:18 · 831 阅读 · 0 评论 -
求和为某正整数的所有正整数集合
应该是网易的一道题目?忘记在哪里看到的了。题目的要求是给定正整数M,求所有和为M的正整数集合。如M=5,则输出:1,1,1,1,11,2,22,3这是一道很典型的搜索问题,可以采用递归+回溯的方法来解答。需要注意的地方有两个:首先是必须以递增的顺序搜索数组。其次是要注意递归调用结束后的回退(rollback),下面是我的答案。时间复杂度为O(2^n)转载 2013-01-02 20:50:36 · 1016 阅读 · 0 评论 -
atoi程序
最主要的是要考虑输入条件,程序写出来了远不是面试官的目的。各种异常情况的处理、边界条件的处理,才是面试官主要考察的内容。我所能想到的测试用例有:1,字符串内含有非法字符,非法字符的定义为0-9,- 之外的所有字符2,字符串表示负数3,字符串表示的整数溢出以下是我写的myatoi和UT[cpp] view plaincopyprint?#i转载 2013-01-02 20:49:17 · 420 阅读 · 0 评论 -
面试常见问题
1,C++基础知识的面试题:1、static, const 的用法:在类中使用static成员函数,为什么static函数不可调用non-static成员变量和成员函数?(没有this 指针),const成员函数如何使用?为什么const成员函数不可修改成员变量?(const this指针)2、虚函数:纯虚函数的用法,多态如何实现,虚函数表如何实现?虚析构函数的作用3、auto_ptr原创 2013-01-02 20:13:38 · 432 阅读 · 0 评论 -
编程之找寻最大的K个数
解法一是最基本的排序算法,本文略过。解法四依赖最大堆这个数据结构,多用于海量数据处理,本文略过。重点实现了解法二和解法三。解法二的思想是利用快排的以O(n)的时间得到某个数组中任意元素序号p,有A[i] A[p], p解法三则从数值的角度采用了二分搜索。是一种不同的思路,相比较解法二,我认为这种方法是实现难度最低的。效率同样也是O(n*lgK)[cpp]转载 2013-01-02 20:46:12 · 274 阅读 · 0 评论 -
反转单向链表
反转单向链表分为递归和非递归两种方式。递归的实现方式比较简单,而非递归实现效率较高,在面试时应注意边界条件。 这道题在面试时被要求现场作答的概率还是很大的,比较tricky的地方就是要在当前条件下保存好next of next的指针,如果一时想不起来程序怎么写,可以先自己画个图看看。 [cpp] view plaincopyprint?// ReverseLis转载 2013-01-02 20:41:21 · 324 阅读 · 0 评论 -
C/C++笔试题 (一)
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范转载 2013-01-12 20:28:45 · 697 阅读 · 0 评论