面试笔试题目
wdkirchhoff
这个作者很懒,什么都没留下…
展开
-
单向链表是否有交点以及查找交点
如何判断是否有交点?两个单向链表,如果有交点,那么它们最后的一个结点必定是同一个结点。我们可以找到链表最后一个结点,比较它们是否是同一个结点。如果两个链表有交点,如何判断交点的位置呢?把一个链表中的每一个结点与另一个链表的中每一个结点做比较,如果找到相同的,那么这个相同的就是交点了。但是这个算法的时间复杂度为O(mn)。如果两个链表相交,那么交点的位置到链表末端原创 2014-12-19 16:49:49 · 734 阅读 · 0 评论 -
华为机试—回文字符串
给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。#include #include using namespace std; int huiwen(char *a){ int len = strlen(a); int i,j=len-1; for(i=0;i<len/2;i++,j--){原创 2014-12-27 21:59:26 · 3777 阅读 · 0 评论 -
华为机试—选秀节目评分
题目:选秀节目评分选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委;judge_type[i] == 2,表示大众评委,n表示评委总数。 打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均原创 2014-12-27 22:12:24 · 3876 阅读 · 0 评论 -
华为机试—四则运算
题目:四则运算问题描述:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注:3.1、表达式只含 +, -, *, / 四则运算符,不含括号3.2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3.3、要考虑加减乘除按通常四则运算规定的计算优先级3.4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0原创 2014-12-27 21:57:22 · 4763 阅读 · 0 评论 -
华为机试—字符串压缩
题目:字符串压缩通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则: 1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz原创 2014-12-27 22:36:07 · 3991 阅读 · 0 评论 -
华为机试—“十七进制”转“十进制”
题目:“十七进制”转“十进制”实现“十七进制”转“十进制”算法:输入一个十七进制数字的字符串(字母一律大写),输出这个数值对应的十进制结果,达到进制转换目的,范围:0-0xFFFFFFFF。#include#includevoid solve(char *s){ int len=strlen(s); int i=0; int a原创 2014-12-27 17:47:55 · 2786 阅读 · 0 评论 -
华为机试—元素按奇偶排序
题目:元素按奇偶排序 给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到 output[]数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[]数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在最大元素放置的那个位置的两边,按照一左一右的顺序,依次存放剩下的数。例如:input[]原创 2014-12-25 19:51:41 · 1992 阅读 · 1 评论 -
华为机试—亮着电灯的盏数(求完全平方数的个数)
题目:亮着电灯的盏数一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的原创 2014-12-25 09:14:33 · 3611 阅读 · 3 评论 -
华为机试—姓名的夫妻相
题目:夫妻相在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是“夫妻相”。所谓“夫妻相”,就是两个人看上去比较般配,长相、身材等某些方面有一定的相似度。本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具“夫妻相”的人。题目中预先给定一组女士的姓名拼音。输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最原创 2014-12-25 15:27:55 · 1795 阅读 · 0 评论 -
华为机试—从考试成绩中划出及格线
题目:从考试成绩中划出及格线10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分 输入:输入10个整数,取值0~100输出:输出及格线,10的倍数#include#includeint a[原创 2014-12-25 12:53:33 · 6184 阅读 · 0 评论 -
华为机试—输出大写字母
题目:输出大写字母输入一个字符串,输出其中的大写字母 输入 2, sdARSFGfg输出 ARSFG#include#include#includeusing namespace std;int main(int argc, char *argv[]){ string s; while(getline(cin,s)) {原创 2014-12-24 18:19:19 · 1445 阅读 · 0 评论 -
找出三个只出现一次的数字 C语言实现
题目:一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。分析:如果我们把数组中所有数字都异或起来,那最终的结果(记为x)就是a、b、c三个数字的异或结果(x=a^b^c)。其他出现了两次的数字在异或运算中相互抵消了。我们可以证明异或的结果x不可能是a、b、c三个互不相同的数字中的任何一个。由于x与a、b、c都各不相同,因此x^a、x原创 2014-12-24 19:23:39 · 11556 阅读 · 0 评论 -
拼音翻译成阿拉伯数字
输入一串拼音,输出它代表的阿拉伯数字(Ling,Yi,Er,San,Si,Wu,Liu,Qi,Ba,Jiu),数字不会超过十万为了处理方便,输入一定是数字带单位的,例如10会是YiShi,而不是一个单独的Shi.输入 JiuWanJiuQianJiuBaiJiuShiJiu输出 99999基本思路:把Wan,Qian,Bai,Shi特殊处理,作为分隔符,其余的都原创 2014-12-24 11:45:27 · 2667 阅读 · 0 评论 -
华为机试—算日期
题目:算日期输入一个日期,输出这是这一年的第几天。(题目中没有给出闰年的定义)输入 20131231输出 365#include#include#includeint months[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int y,m,d;int isLeapYear(int y){ if原创 2014-12-24 11:59:30 · 1071 阅读 · 0 评论 -
求1+2+3+...+n,要求不能使用乘除法,for,while,if,else,switch,case等关键字以及条件判断语句
转载自:点击打开链接方法一:利用构造函数和静态数据成员[cpp] view plaincopy#include using namespace std; class Temp { public: Temp() { ++N; Sum+=转载 2014-12-23 12:13:34 · 2643 阅读 · 0 评论 -
经典笔试题目
1、 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2) 预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是转载 2014-12-22 22:18:32 · 665 阅读 · 0 评论 -
找出数组中两个只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。还是理解不够深刻。 这题的主要思路还是之前的数组中只出现一次的数字的那种模式,一次遍历加上异或运算。那么这个异或的值肯定是这两个只出现一次的数字的相异或的值。那么这个值的二进制表现形式中的1的结果就表示这两个数字在该bit位上不一样。那么通过此举,我们可原创 2015-03-19 22:29:20 · 11398 阅读 · 1 评论