2016校招华为机试题目回忆


题目一:字符串格式化输出

AAABBBBCC–>A3B4C2

将字符串按照字符+连续重复数格式化输出


题目二:好友推荐

有n个人,每个人都有各自的好友列表。给定一个阈值p,当A和B的共同好友数超过p则推荐A和B为好友。请实现自动推荐直到没有好友可以推荐(每次推荐默认同意,即一定成为好友),然后进行一些查询。

查询1:A的好友数有几个?如果A不在这n个里面,输出-1,否则输出好友数;

查询2:A和B是好友吗?如果是则输出0,否则输出-1。

输入:p n m x y

p为阈值,n为人数,m为初始时的好友,x为查询1的个数,y为查询2的个数

注:

- 如果A是B的好友,B一定是A的好友;

- 每个人的人名用不超过20个字符的字符串表示,没有重名的人;

- 人数不超过100.



输入示例:

2 3 3 3 3

A

B

C

A B

B C

A C

A

B

C

A B

C A

B C

应输出:

2

2

2

0

0

0


题目三:最大的凸边形

给定一些点,输出最大面积的凸边形。输出起始点为x轴最左边的点,按照顺时针方向输出,每个点必须是凸边形的顶点(不输出边上或凸边形内的点)。



输入样例:

3;1,2;2,2;3,3

输出样例:

1,2;3,3;2,2



注:

- 输入数据的第一个数为点的数目,然后是分号;再后面就是以分号间隔的点;

- 点的数目最少为3个,最多为65535;

- 该题目和斜率相关。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 05:57:19

2016校招华为机试题目回忆的相关文章

2016校招华为机试题目回忆1

题目一:根据指定的分隔符分隔字符串,并输出指定的段 描述 根据指定的分隔符分隔字符串,并输出指定的段.如果指定的段超过分隔的段数,输出:NULL 举例: AAA?BBB?CCC??2 字符串为:AAA?BBB?CCC? 分隔符为:? 指定的段为:2 字符串分割为:AAA BBB CCC共三段,第2段字符串为:BBB 输入输出格式要求 输入分隔字符串长度小于128个字符,指定的段是一个正整数. 样例 输入:AAA?BBB?CCC??2 输出:BBB 题目二:输入若干整数,输出其中能被这些整数中其他

华为机试题目_(转载总结)

原作者地址:http://blog.csdn.net/xcbeyond/article/details/45627247 题目二 2.程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数. 程序要求:输入:整型数组中的元素个数及各个元素. 输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数. /* * 一点总结: * 1.Java中没有指针,那么如何定义全局变量,还是只要public就可以共享了呢,试下去掉static可不可以:错误:无法在静态方法中引用

华为机试题目---字符串替换

题目要求:输入一个字符串,然后在输入一个整数,就是替换字符串的次数,然后依次输入需要替换的字符串-- 例如: 输入:abcdefg 3 a->qwe b->s fg->abc 输出:qwescdeabc //字符串替换 #include<iostream> #include<vector> #include<string> #define max 100 using namespace std; void change(char str[],int c

华为机试题目

1.求区间最高分 int getMax(int *pScore, int low, int high) { if(low > high) { high = low ^ high; low = low ^ high; high = low ^ high; } int maxScore = pScore[low]; for(int i = low + 1; i <= high; ++i) { if(maxScore < pScore[i]) { maxScore = pScore[i]; }

2014年七月华为校招机试题目--最难的一道, 呵呵!

今天百无聊赖之时, 漫心看到14年的华为校招机试题目, 一共三道, 前两道皆是平平, 第三道却柳暗花明, 让人眼前一亮. 咋一看, 饶有趣味, 看似平淡无奇, 然而却玄机颇深(对我这种弱渣而言).(不过对于ACMer, 好像应该用基础算法, 就能解决!) (然而我也只会基础的算法!!忏愧的紧!!!).如果有幸被大神看到, 能指点我一两招, 不胜感激!  下面是题目和我的详细题解思路(可供巨巨一笑!嘿嘿!). 2014年七月华为校招机试题目: 第三题: 输入一个正整数X,在下面的等式左边的数字之间

华为2016机试题目01

牛客网做的华为2016机试题目,新手,代码较乱,一起讨论. 题目要求如下: 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. 输入描述: 输入包括多组测试数据. 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目. 学生ID编号从1编到N. 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩 接下来又M行,每一行有一

华为机试正式版(西安c/c++/java),今天下午去机试的题目,新鲜出炉了!

以下题目都是回忆的,题目都很简单, 大家有些基础就可以参加!(语言可以是c/c++,也可以是java的) 题目一(60分): 字符串操作, 将小写转换成大写, 将大写转化为小写, 数字的不做转换 例如, 输入:aBcD12 输出:AbCd12 题目二(100分): 将输入的字符串按照规定重新排序,如果字符串长度为奇数, 则中间的字符保持不变, 中间字符左侧降序排列, 右侧字符按照升序排列, 如果字符串长度为偶数,则左半侧字符降序排列,右半侧字符则按照升序排列 例如, 输入:ab5de 输出:ba

[华为机试真题]66.单词搜索

题目 代码 /*--------------------------------------- * 日期:2015-07-06 * 作者:SJF0115 * 题目:WordSearch * 来源:华为机试真题 -----------------------------------------*/ #include <iostream> #include <string> #include <vector> #include <stack> #include

华为机试 --- 求最大三位数

题目:输入10位0-9数字,取其中三位不同数字组合,求组合出来的最大三位数. 如输入 1 2 3 4 5 6 7 8 9 0,组合出来987最大. 测试代码如下: #include <stdio.h> #include <stdlib.h> int IsSame(int *a, int num); int main() { int i=0; int j=0; int a[10]={0}; int input =0; int length =0; int temp=0; for (i