牛客网华为机试题
何以解忧,唯有..
这个作者很懒,什么都没留下…
展开
-
HJ29 字符串加解密
一、题目二、代码import java.util.Scanner;public class Main { public static void main(String []args) throws Exception{ Scanner in = new Scanner(System.in); while (in.hasNext()) { String str1 = in.nextLine(); Strin原创 2022-03-27 23:16:46 · 719 阅读 · 0 评论 -
HJ33 整数与IP地址间的转换
一、题目二、代码import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String ip = in.nextLine(); String ip10 = in.nextLi原创 2022-03-27 23:14:24 · 541 阅读 · 0 评论 -
HJ36 字符串加密
一、题目二、代码import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String secret = in.nextLine();// 密钥 String str = in.nextL原创 2022-03-27 23:12:33 · 262 阅读 · 0 评论 -
HJ27 查找兄弟单词
一、题目二、代码import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.ne原创 2022-03-27 23:09:44 · 184 阅读 · 0 评论 -
HJ24 合唱队
一、题目二、代码最长子序列问题,假设i位最高同学的位置,则找出i左侧的身高递增学生数和i右侧身高递减的学生数,两者加上1就是k,n-k就是答案。假设i从1-n,找到n总情况下k的最大值就行了。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.h原创 2022-03-27 22:38:17 · 432 阅读 · 0 评论 -
HJ26 字符串排序
一、题目二、代码import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { String str = in.nextLine(); List<Character> list =原创 2022-03-27 22:34:20 · 263 阅读 · 0 评论 -
HJ17 坐标移动
一、题目二、代码import java.util.*;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int x=0, y=0; String str = scanner.nextLine();原创 2022-03-27 22:26:03 · 258 阅读 · 0 评论 -
HJ65 查找两个字符串a,b中的最长公共子串
一、题目二、代码import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String str1 = in.nextLine(); String str2 = in.nextL原创 2022-03-20 22:57:41 · 472 阅读 · 0 评论 -
HJ63 DNA序列
一、题目二、代码package niuke;import java.util.Scanner;public class Test10 { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String str = in.nextLine(); int n原创 2022-03-20 22:36:59 · 374 阅读 · 0 评论 -
HJ52 计算字符串的编辑距离
一、题目二、代码import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { String str1 = in.nextLine(); String str2 = in.nextLin原创 2022-03-20 22:29:39 · 297 阅读 · 0 评论 -
HJ48 从单向链表中删除指定值的节点
一、题目二、代码import java.util.List;import java.util.ArrayList;import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); while (in.hasNext()) { int num = in.原创 2022-03-20 22:26:18 · 791 阅读 · 0 评论 -
HJ45 名字的漂亮度
一、题目二、代码import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { int num = in.nextInt(); Str原创 2022-03-20 22:07:07 · 180 阅读 · 0 评论 -
HJ70 矩阵乘法计算量估算 ——
一、题目二、代码import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNextInt()){ int n = in.nextInt(); int a[][] = new int[n][2];原创 2022-03-16 23:25:28 · 612 阅读 · 0 评论 -
HJ69 矩阵乘法 —— 华为机考练习题
一、题目二、代码import java.util.*;public class Main { public Main() { } public int[][] mul(int[][] mat1, int [][]mat2) { int x = mat1.length, y = mat2.length, z = mat2[0].length; int[][] res = new int[x][z]; for (int i = 0原创 2022-03-16 23:23:00 · 289 阅读 · 0 评论 -
HJ82 将真分数分解为埃及分数 —— 华为机考练习题
一、题目描述分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。注:真分数指分子小于分母的分数,分子和分母有可能gcd不为1!如有多个解,请输出任意一个。输入描述:输入一个真分数,String型输出描述:输出分解后的string二、代码/**数学家斐波那契提出的一种求解***分数的贪心算法,准确的算法表述应该是这样的:设某个真分数的分子为a,分母为b;把c=(b/a+1)原创 2022-03-16 23:20:15 · 323 阅读 · 0 评论 -
HJ107 求解立方根 —— 华为机考练习题
一、题目描述计算一个浮点数的立方根,不使用库函数。保留一位小数。数据范围:|val| \le 20 \∣val∣≤20输入描述:待求解参数,为double类型(一个实数)输出描述:输出参数的立方根。保留一位小数。二、代码解题思路: 1.判断正负。判断输入的数是正数还是符数,设置一个flag表示符号位,flag=0为正,flag=1为负。 2.划分区间。把input的绝对值划分成小于1和大于1的两个区间,如果input小于1,设置二分的初始下界为0,上界为1.input大于1,则设置下届原创 2022-03-16 23:12:06 · 425 阅读 · 0 评论 -
HJ74 参数解析 —— 华为机考练习题
一、题目描述在命令行输入如下命令:xcopy /s c:\ d:\e,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\e请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” "d:“时,参数仍然是4个,第3个参数应该是字符串C:\program files,而不是C:\原创 2022-03-16 23:06:35 · 142 阅读 · 0 评论 -
HJ92 在字符串中找出连续最长的数字串 —— 华为机考练习题
一、题目描述输入一个字符串,返回其最长的数字子串,以及其长度。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)本题含有多组样例输入。数据范围:字符串长度 1 \le n \le 200 \1≤n≤200 , 保证每组输入都至少含有一个数字输入描述:输入一个字符串。1<=len(字符串)<=200输出描述:输出字符串中最长的数字字符串和它的长度,中间用逗号间隔。如果有相同长度的串,则要一块儿输出(中间不要输出空格)。二、代码import java.io.*;原创 2022-03-16 22:55:34 · 216 阅读 · 0 评论 -
HJ90 合法IP —— 华为机试练习题
一、题目描述IPV4地址可以用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此正号不需要出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。现在需要你用程序来判断IP是否合法。输入描述:输入一个ip地址,保证不包含空格输出描述:返回判断的结果YES or NO二、代码import java.util.*;public class Main{原创 2022-03-15 23:43:08 · 441 阅读 · 0 评论 -
HJ71 字符串通配符 —— 华为机试练习题
一、题目描述问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符::匹配0个或以上的字符(注:能被和?匹配的字符仅由英文字母和数字0到9组成,下同)?:匹配1个字符注意:匹配时不区分大小写。输入:通配符表达式;一组字符串。输出:返回不区分大小写的匹配结果,匹配成功输出true,匹配失败输出false输入描述:先输入一个带有通配符的字符串,再输入一个需要匹配的字符串输出描述:返回不区分原创 2022-03-15 23:38:31 · 897 阅读 · 1 评论 -
HJ77 火车进站 —— 华为机试练习题
一、题目描述给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先进站的才能出站。要求输出所有火车出站的方案,以字典序排序输出。数据范围:1\le n\le 10\1≤n≤10进阶:时间复杂度:O(n!)\O(n!) ,空间复杂度:O(n)\O(n)输入描述:第一行输入一个正整数N(0 < N <= 10),第二行包括N个正整数,范围为1到10原创 2022-03-15 23:35:04 · 661 阅读 · 0 评论 -
HJ66 配置文件恢复 —— 华为机考练习题
一、题目为了简化输入,方便用户,以“最短唯一匹配原则”匹配(注:需从首字母开始进行匹配):1、若只输入一字串,则只匹配一个关键字的命令行。例如输入:r,根据该规则,匹配命令reset,执行结果为:reset what;输入:res,根据该规则,匹配命令reset,执行结果为:reset what;2、若只输入一字串,但匹配命令有两个关键字,则匹配失败。例如输入:reb,可以找到命令reboot backpalne,但是该命令有两个关键词,所有匹配失败,执行结果为:unknown command3、原创 2022-03-14 23:33:16 · 136 阅读 · 0 评论 -
HJ16 购物单 —— 华为机试题
一、题目二、代码具体思路就是构造物品类,然后对主件判断是否有附件,若有附件则依次添加,根据主件、附件1、附件2的组合有四种情况1、只有主件2、主件+附件13、主件+附件24、主件+附件1+附件2根据以上情况转化问题为经典的 01背包问题 ,接着就是套公式动态规划即可import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc =原创 2022-03-14 23:28:44 · 267 阅读 · 0 评论 -
HJ43 迷宫问题 —— 华为机试练习题
一、题目描述定义一个二维数组 N*M ,如 5 × 5 数组下所示:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。数据范围: 2 \le n,m \le 10 \2≤n,m≤10 , 输入的原创 2022-03-13 22:44:21 · 228 阅读 · 0 评论 -
HJ67 24点游戏算法 —— 华为练习题
一、题目描述给出4个1-10的数字,通过加减乘除运算,得到数字为24就算胜利,除法指实数除法运算,运算符仅允许出现在两个数字之间,本题对数字选取顺序无要求,但每个数字仅允许使用一次,且需考虑括号运算此题允许数字重复,如3 3 4 4为合法输入,此输入一共有两个3,但是每个数字只允许使用一次,则运算过程中两个3都被选取并进行对应的计算操作。输入描述:读入4个[1,10]的整数,数字允许重复,测试用例保证无异常数字。输出描述:对于每组案例,输出一行表示能否得到24点,能输出true,不能输出fal原创 2022-03-13 22:40:46 · 394 阅读 · 0 评论 -
HJ20 密码验证合格程序 —— 华为练习题
一、题目描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有长度大于2的不含公共元素的子串重复 (注:其他符号不含空格或换行)本题有多组输入输入描述:一组或多组字符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG二、代码import java.util.Scanner;import java.util.regex.Pattern;public class Main { public static void mai原创 2022-02-27 13:33:12 · 235 阅读 · 0 评论 -
HJ41 称砝码 ——华为机试练习题
一、题目描述现有一组砝码,重量互不相等,分别为 m1,m2,m3…mn ;每种砝码对应的数量为 x1,x2,x3…xn 。现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。注:称重重量包括 0本题有多组输入输入描述:输入包含多组测试数据。对于每组测试数据:第一行:n — 砝码数(范围[1,10])第二行:m1 m2 m3 … mn — 每个砝码的重量(范围[1,2000])第三行:x1 x2 x3 … xn — 每个砝码的数量(范围[1,6])输出描述:利原创 2022-02-27 13:11:19 · 823 阅读 · 0 评论