C++面试题
smilestone322
通过软考: 系统架构设计师和信息系统项目管理师考试
工业相机和DVR开发,熟悉windows驱动开发,camera sdk开发,3D摄像头sdk开发。
联系方式:smilestone322@sina.com
展开
-
两个有序数组,A[k]和B[k]长度都为k。求前k个最小的(a[i]+b[j])
设A={A1,A2,A3,A4,A5,A6,.......} ,B={B1,B2,B3,B4,B5,B6,.......}因为A和B都是有序的数组,必须充分的利用这点,可能有同学,看到有同学觉得这个题目比较容易,直接将所有的组合都计算出来,然后取最小的K个,其实出题的人是要大家考虑这道题的时间复查度,上面的解法的时间复杂度为o(n2),出题的人的目的是要时间复杂度最小。 下面分析如下:原创 2012-10-03 10:50:13 · 3367 阅读 · 0 评论 -
句子翻转 如i am superman ---> superman am i
句子翻转i am superman ---> superman am i 这个题目比较简单:思路:(1)首先将原字符串分开成单词,然后将单词在反过来组成反的字符串;函数如下: #include "stdafx.h"#include "stdlib.h"#include #include using namespace std; bool原创 2012-10-03 11:06:38 · 1276 阅读 · 0 评论 -
C++面试题,自己实现String类的构造函数,拷贝构造函数,赋值操作符,append,replace,+运算符重载等
#include "string.h"#include using namespace std;class String{public: String(const char *str=NULL); String(const String &other); ~String(void); String& operator=(const Str原创 2014-04-15 14:52:02 · 1966 阅读 · 0 评论 -
C++ 构造函数中能调用虚函数吗
答案是可以的,只是起不到虚函数的作用,举例如下: #include using namespace std;class Base { public: Base() { Fuction(); } virtual void Fuction() { cout } }; class A : publi原创 2014-04-16 14:45:44 · 1729 阅读 · 0 评论 -
C++面试题
1)为什么要将析构函数设置成虚函数,有什么好处?面向对象编程的3个基本概念:数据抽象、继承、动态绑定。我们在设计类似时,一般讲析构函数设计成visual,因为这样有继承时,不会造成内存泄露问题,举例如下:class CA{public: CA(){cout ~CA(){cout};class CB:public CA{publ原创 2013-01-06 21:52:32 · 1512 阅读 · 6 评论 -
阿里巴巴2013年校园招聘笔试题
程序设计题:一棵树,每个节点保存一个数字,找两个相同的节点(所谓相同的节点是指,两个节点的值相同,并且它们的子结构也要相同,就是以他俩为跟的那两颗子树也要一模一样。)一个平面,上有n个点,点与点之间可能有连接,判断这里是否有环路。 系统设计题:大图导航系统:(1)现有大图1W张,像素:1024*4096。系统可以增加或者删除图片。(2)手机屏幕分辨率240*3原创 2012-10-03 11:11:58 · 3420 阅读 · 2 评论 -
2012年校园招聘华为一道面试题---之我的解法
1)将一个字符串中的小写字母变成大写的,如果是大写的则保持不变。如果是字母之外的符号如“,”、“?”等,则去掉这些符号。原型给定void Str_toupper(const char *pIn, char *pOut)。 解决:void Str_toupper(const char *pIn, char *pOut){ unsigned int out_len=0; i原创 2012-09-16 16:53:41 · 1497 阅读 · 0 评论 -
区间序列 (2,3) (4.2,6) (7,9),判断给定的一个区间与上面哪些区间有交集,比如给定(4,5)则输出(4.2,6)。
区间序列 (2,3) (4.2,6) (7,9),判断给定的一个区间与上面哪些区间有交集,比如给定(4,5)则输出(4.2,6)。 算法:1)首先将测试的区间序列放入迭代器;2)判断给定的区间是否和测试的区间有交集;判断的方法是如下: #include "stdafx.h"#include "stdlib.h"#include #include #inclu原创 2012-10-03 10:47:26 · 1965 阅读 · 0 评论 -
宜搜笔试题2013年
(1)判断两个Query是否相同“北京欢迎你”和“你欢迎北京” 这道题是考什么呢,考搜索引擎是怎么工作的吗?搜索引擎是怎么实现的呢,我也不知道,是不是先进行分词,然后在根据一个编码进行匹配,如果是分词的话,分成北京 欢迎 你。不知道后面的算法是怎么做的,也不好讲解。(2)最长前缀子串问题a="abdcdef" b="dex" 则最长子串是de 是一个模式原创 2012-10-03 11:15:50 · 2959 阅读 · 0 评论 -
2012年华为电子科大校园招聘 之正数减法---待解
3 正数减法问题描述: 两个任意长度的正数相减,这两个正数可以带小数点,也可以是整数,请输出结果。 输入的字符串中,不会出现除了数字与小数点以外的其它字符,不会出现多个小数点以及小数点在第一个字符的位置等非法情况,所以考生的程序中无须考虑输入的数值字符串非法的情况。 详细要求以及约束:1.输入均为正数,但输出可能为负数; 2.输入输出均为字符串形式;3.如果输出是原创 2012-09-16 22:49:52 · 2352 阅读 · 1 评论 -
RGB排序,一个字符串,里面只有三种字符R G B,所有的R都在G的前面,所有的G都在B的前面。将给定字符串按照此规律排序。要求不允许用辅助空间,复杂度控制在O(N)。
(1)RGB排序,一个字符串,里面只有三种字符R G B,所有的R都在G的前面,所有的G都在B的前面。将给定字符串按照此规律排序。要求不允许用辅助空间,复杂度控制在O(N)。遍历一遍就排好序。 设原来的的字符串为:RGBBGRRBRGRBBG 算法思路如下:1)题目中要求不能增加辅助空间,所以交换两个字符的时候要做特殊处理哦!不增加任何空间交换2个元素的位置,这样的题目遇到原创 2012-10-03 21:32:15 · 5082 阅读 · 3 评论 -
中兴通讯2012校园招聘一道面试题---之我的解法
看到网上的中兴这两道面试题,感觉出的还不错的,尝试的解答下:1)写一个模板函数,交换两个实参的值,并写出对这两个实参有什么要求; template T swap(T ¶m1 ,T ¶m2) { T tmp=param1; Param2=param1; Param1=tmp;} 调用的时候,注意交换的实参的类型必须一致原创 2012-09-16 17:20:52 · 1444 阅读 · 0 评论 -
算法实现:如何从100亿个数中找到最大的10000个数
一看这个这个题目:也许你就蒙了,这么多的数排序,直接读入内存,内存是装不下的,一个解决办法:用堆排序,先取10000个数排序,排序的时间复杂度,nlogn=10000*log1000,设它为T0,那么后面的数据依次取一个和这个堆比较,堆里面永远保留最大的10000个数据,最后就输出这10000w个数据,不知道还有什么好的办法吗?原创 2012-09-16 17:03:36 · 3137 阅读 · 0 评论 -
2012年华为校园招聘电子科大面试题---之我的解法
@smilestone322以下是我的解法,写出来跟大家交流,欢迎大家讨论,呵呵:1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现原创 2012-09-16 18:56:43 · 1657 阅读 · 4 评论