华为机试题集Java实现
文章平均质量分 55
KittyGirllll
梦想,是注定孤独的旅行
展开
-
【华为机试079】计算字符串的相似度
题目描述:对于不同的字符串,我们希望能有办法判断相似程度,我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法如下:1 修改一个字符,如把“a”替换为“b”。2 增加一个字符,如把“abdd”变为“aebdd”。3 删除一个字符,如把“travelling”变为“traveling”。比如,对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过...原创 2018-07-30 21:56:16 · 631 阅读 · 0 评论 -
【华为机试072】百钱买百鸡问题
题目描述:公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?Java实现:import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner ...原创 2018-07-23 13:59:28 · 479 阅读 · 0 评论 -
【华为机试071】字符串通配符
题目描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错误输出falseJava实现:import ...原创 2018-07-23 13:52:16 · 687 阅读 · 0 评论 -
【华为机试060】查找组成一个偶数最接近的两个素数
题目描述:任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对Java实现:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new ...原创 2018-07-17 15:20:06 · 388 阅读 · 0 评论 -
【华为机试059】找出字符串中第一个只出现一次的字符
题目描述:找出字符串中第一个只出现一次的字符Java实现:import java.util.HashMap;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ...原创 2018-07-17 14:56:53 · 285 阅读 · 0 评论 -
【华为机试058】输入n个整数,输出其中最小的k个
题目描述:输入n个整数,输出其中最小的k个。详细描述:接口说明原型:bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);输入参数: unsignedint uiInputNum //输入整数个数int * pInputArra...原创 2018-07-17 14:36:55 · 596 阅读 · 0 评论 -
【华为机试057】高精度整数加法
题目描述:在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:9876543210 + 1234567890 = ?让字符串 num1="9876543210",字符串...原创 2018-07-17 13:48:50 · 396 阅读 · 0 评论 -
【华为机试056】完全数计算
题目描述:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <=...原创 2018-07-17 13:22:45 · 337 阅读 · 0 评论 -
【华为机试045】Sudoku
题目描述:问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。输入:包含已知数字的9X9盘面数组[空缺位以数字0表示]输出:完整的9X9盘面数组Java实现:import java.util.*;public class Main { public...原创 2018-07-10 20:35:11 · 549 阅读 · 0 评论 -
【华为机试044】迷宫问题
题目描述:定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫...原创 2018-07-10 19:27:35 · 534 阅读 · 0 评论 -
【华为机试043】学英语
题目描述:Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。 说明:数字为正整数,长度不超过九位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,billion,million,thousand,hundred。Java...原创 2018-07-10 16:20:02 · 583 阅读 · 0 评论 -
【华为机试055】挑7
题目描述:输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数 Java实现:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(Syste...原创 2018-07-16 15:41:08 · 279 阅读 · 0 评论 -
【华为机试054】表达式求值
题目描述:给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。Java实现:import java.util.*;//本题属于栈最典型的一种应用:将中缀表达式转换成后缀表达式,再求值public class Main{ public...原创 2018-07-16 15:30:28 · 1024 阅读 · 0 评论 -
【华为机试052】杨辉三角的变形
题目描述: 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输...原创 2018-07-16 14:39:15 · 585 阅读 · 0 评论 -
【华为机试051】计算字符串的距离
题目描述:Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。Ex:字符串A:abcdefg字符串B: abcdef通过增加或是删掉字符”g”的方式达到目的。这...原创 2018-07-16 14:04:09 · 493 阅读 · 0 评论 -
【华为机试039】整数与IP地址间的转换
题目描述:原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003 000000111...原创 2018-07-03 11:36:13 · 314 阅读 · 0 评论 -
【华为机试038】单词倒排
题目描述:对字符串中的所有单词进行倒排。说明:1、每个单词是以26个大写或小写英文字母构成;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;Java实现:import java.util.Scanner;public class Main { pub...原创 2018-07-03 10:12:41 · 327 阅读 · 0 评论 -
【华为机试073】计算日期到天数转换
题目描述:输入某年某月某日,判断这一天是这一年的第几天?Java实现:import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ ...原创 2018-07-23 14:18:40 · 474 阅读 · 0 评论 -
【华为机试074】参数解析
题目描述:在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下: 参数1:命令字xcopy 参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。 解析规则: 1.参数分隔符为空格 2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /...原创 2018-07-23 14:37:26 · 790 阅读 · 0 评论 -
【华为机试046】名字的漂亮度
题目描述:给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。 给出多个名字,计算每个名字最大可能的“漂亮度”。Java实现:import java.util.Arrays;import java.util.Scanner;public clas...原创 2018-07-11 19:52:30 · 378 阅读 · 0 评论 -
【华为机试070】矩阵乘法计算量估算
题目描述:矩阵乘法的运算量与矩阵乘法的顺序强相关。例如: A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵 计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算15000次乘法,后者只需要3500次。 编写程序计算不同的计算顺序需要进行的乘法次数Java实现:import java.util.Scanner;im...原创 2018-07-19 17:38:23 · 854 阅读 · 0 评论 -
【华为机试069】矩阵乘法
题目描述:如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。Java实现:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.i...原创 2018-07-19 15:58:59 · 409 阅读 · 0 评论 -
【华为机试068】成绩排序
题目描述:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 ...原创 2018-07-19 15:35:49 · 313 阅读 · 0 评论 -
【华为机试066】配置文件恢复
题目描述:命 令 执 行 reset reset what reset board board fault board add where to add board delet no board at all reboot backplane impossible backplane abort install firs...原创 2018-07-19 14:15:17 · 726 阅读 · 0 评论 -
【华为机试050】输出单向链表中倒数第k个节点
题目描述:Java实现:关键点:原创 2018-07-13 08:22:07 · 458 阅读 · 0 评论 -
【华为机试049】多线程
题目描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。Java实现:import java.util.Scanner;//临界资源class CharBuffer{ private String...原创 2018-07-12 20:35:52 · 924 阅读 · 0 评论 -
【华为机试065】查找两个字符串的最长公共子串
题目描述:查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。Java实现:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ...原创 2018-07-18 16:30:45 · 441 阅读 · 0 评论 -
【华为机试064】MP3光标位置
题目描述:MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。 现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下: 歌曲总数<=4的时候,不需要翻页,只是挪动光标位置。 光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首...原创 2018-07-18 15:34:57 · 336 阅读 · 0 评论 -
【华为机试063】DNA序列
题目描述:一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。Java实现:impo...原创 2018-07-18 14:54:37 · 495 阅读 · 0 评论 -
【华为机试062】查找输入整数二进制中1的个数
题目描述:请实现如下接口 public static int findNumberOf1( intnum) { /* 请实现 */ return 0; } 譬如:输入5 ,5的二进制为101,输出2Java实现:import java.util.Scanner;public class Mai...原创 2018-07-18 14:17:44 · 211 阅读 · 0 评论 -
【华为机试061】放苹果
题目描述:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Java实现:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = n...原创 2018-07-18 13:53:27 · 447 阅读 · 0 评论 -
【华为机试048】从单向链表中删除指定值的结点
题目描述:输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表结点定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;};详细描述:本题为考察链表的插入和删除知识。链表的值不能重复构造过程,例如1 <- 23 <- 25 <- 14 <- 57 <- 2最后...原创 2018-07-12 11:39:27 · 252 阅读 · 0 评论 -
【华为机试078】超长正整数相加
题目描述:请设计一个算法完成两个超长正整数的加法。Java实现:import java.util.*;import java.math.BigInteger;public class Main{ public static void main(String[] args) throws Exception { Scanner sc = new Scan...原创 2018-07-23 16:51:43 · 467 阅读 · 0 评论 -
【华为机试077】火车出站
题目描述:给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号。要求以字典序排序输出火车出站的序列号。 Java实现:import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Sc...原创 2018-07-23 15:36:08 · 645 阅读 · 0 评论 -
【华为机试076】尼科彻斯定理
题目描述:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 Java实现:import java.util.*;public class Main{ public static void main(String[] args){ ...原创 2018-07-23 15:17:46 · 368 阅读 · 0 评论 -
【华为机试075】公共字串计算
题目描述:计算两个字符串的最大公共字串的长度,字符不区分大小写Java实现:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc....原创 2018-07-23 15:10:09 · 378 阅读 · 0 评论 -
【华为机试047】线性插值
题目描述:信号测量的结果包括测量编号和测量值。存在信号测量结果丢弃及测量结果重复的情况。 1.测量编号不连续的情况,认为是测量结果丢弃。对应测量结果丢弃的情况,需要进行插值操作以更准确的评估信号。 采用简化的一阶插值方法,由丢失的测量结果两头的测量值算出两者中间的丢失值。 假设第M个测量结果的测量值为A,第N个测量结果的测量值为B。则需要进行(N-M-1)个测量结果的插值处理。进行一阶线...原创 2018-07-11 20:39:25 · 563 阅读 · 0 评论 -
【华为机试037】字符串合并处理
题目描述:将输入的两个字符串合并。对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。对排序后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100b,则翻转后为0010b,也就是2。转换后的字符...原创 2018-07-03 09:31:47 · 274 阅读 · 0 评论 -
【华为机试042】称砝码
题目描述:现有一组砝码,重量互不相等,分别为m1,m2,m3…mn;每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。Java实现:import java.util.*; public class Main { public static void main(String[] args) { Scanne...原创 2018-07-09 20:59:58 · 345 阅读 · 0 评论 -
【华为机试014】句子逆序
题目描述:将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符Java实现://思路:先将整个句子逆序,然后再依照空格逆序import java.util.*;public class Main { public static void main(String[] ar...原创 2018-05-08 17:25:25 · 769 阅读 · 0 评论