![](https://img-blog.csdnimg.cn/1379a3667d4e4a2e99d821b16445689c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
华为机试题JAVA(牛客网)
本专栏主要是本人自己刷的华为机试题,用的是java语言,分享出来一是为了记录,二是为了交流。大家也可以在评论区留言沟通,谢谢
可乐大数据
心中有光,所到之处皆是彩虹。
展开
-
【java华为机试】华为od机试题考试真题
一共三道题,第一道题和第二道题各100分,第三道题200分。第一题题目描述疫情过后,输入描述:输出描述:考试源答案import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasN原创 2022-03-07 16:30:10 · 21077 阅读 · 26 评论 -
【java华为机试】HJ1 字符串最后一个单词的长度
描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);原创 2022-03-02 11:27:35 · 316 阅读 · 0 评论 -
【java华为机试】HJ2 计算某字符出现次数
描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)import java.util.Scanner;public class Main { public static void main原创 2022-03-02 11:29:51 · 324 阅读 · 0 评论 -
【java华为机试】HJ3 明明的随机数
描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数( N≤1000 ),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。当没有新的输入时,说明原创 2022-02-17 11:49:38 · 311 阅读 · 0 评论 -
【java华为机试】HJ4 字符串分隔
描述•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。(注:本题有多组输入)输入描述:连续输入字符串(输入多次,每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new原创 2022-03-02 11:58:38 · 171 阅读 · 0 评论 -
【java华为机试】HJ5 进制转换
描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在1 \le n \le 2^{31}-1 \1≤n≤231−1注意本题有多组输入输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子牛客网在线判题系统使用帮助_站内公告_牛客网处理多组输入的问题。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。import java.util.Scanner;import java.lang.M..原创 2022-03-02 14:04:49 · 590 阅读 · 0 评论 -
【java华为机试】HJ6 质数因子
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.原创 2022-01-30 21:43:18 · 892 阅读 · 2 评论 -
【java华为机试】HJ7 取近似值
描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner in = new Sca原创 2021-12-29 17:03:55 · 290 阅读 · 0 评论 -
【java华为机试】HJ8 合并表记录
描述数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。提示:0 <=index<= 111111111 <= value <= 100000输入描述:先输入键值对的个数n(1 <= n <= 500)然后输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)import java.util.Scan..原创 2022-03-02 14:06:29 · 486 阅读 · 0 评论 -
【java华为机试】HJ9 提取不重复的整数
描述输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0 。数据范围:1 \le n \le 10^{8} \1≤n≤108输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数import java.util.Scanner;public class Main { public static void main(String[] args) { Sca..原创 2022-03-02 14:09:38 · 319 阅读 · 0 评论 -
【java华为机试】HJ10 字符个数统计
描述编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。数据范围:1 \le n \le 500 \1≤n≤500输入描述:输入一行没有空格的字符串。输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。import ..原创 2022-03-02 14:11:14 · 270 阅读 · 0 评论 -
【java华为机试】HJ11 数字颠倒
描述输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001数据范围: 输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); .原创 2021-12-29 17:10:45 · 404 阅读 · 0 评论 -
【java华为机试】HJ12 字符串反转
描述接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)输入描述:输入一行,为一个只包含小写字母的字符串。输出描述:输出该字符串反转后的字符串。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next原创 2022-03-02 14:13:21 · 134 阅读 · 0 评论 -
【java华为机试】HJ13 句子逆序
描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符数据范围:输入的字符串长度满足 1<=n<=1000注意本题有多组输入输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子import java.util.Scanner;public class Main { public stati原创 2021-12-30 14:49:43 · 184 阅读 · 0 评论 -
【java华为机试】HJ14 字符串排序
描述给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围:1 \le n \le 1000 \1≤n≤1000,字符串长度满足1 \le len \le 100 \1≤len≤100输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。import java.util.Arrays;import java.util.Sc...原创 2022-03-02 14:16:18 · 342 阅读 · 0 评论 -
【java华为机试】HJ15 求int型正整数在内存中存储时1的个数
描述输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。数据范围:保证在 32 位整型数字范围内输入描述:输入一个整数(int类型)输出描述:这个数转换成2进制后,输出1的个数import java.util.Scanner;public class Main { public static void main(String[] args) { // 1、调用输入 Scanner sc = new Scanner(Syste原创 2022-03-02 14:22:34 · 261 阅读 · 0 评论 -
【java华为机试】HJ20 密码验证合格程序
描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有长度大于2的不含公共元素的子串重复 (注:其他符号不含空格或换行)数据范围:输入的字符串长度满足1 \le n \le 100 \1≤n≤100输入描述:一组字符串。输出描述:如果符合要求输出:OK,否则输出NGimport java.util.Arrays;import java.util.Scanner;import java.util.regex.Pat..原创 2022-03-04 16:21:22 · 296 阅读 · 0 评论 -
【java华为机试】HJ21 简单密码
描述密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈.接下来渊子要在密码之上再加一套密码,虽然简单但也安全。假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,这个密码可以通过一种算法由更简单的密码YUANzhi1987变换而成,这个更简单的密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。他是这么变换的,大家都知道手机上的字母:1--1,abc--2,def--3,ghi--4,...原创 2022-03-04 16:23:22 · 193 阅读 · 0 评论 -
【java华为机试】HJ22 汽水瓶
描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是 5 瓶,方法如下:先用 9 个空瓶子换3瓶汽水,喝掉 3 瓶满的,喝完以后 4 个空瓶子,用 3 个再换一瓶,喝掉这瓶满的,这时候剩 2 个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用 3 个空瓶子换一瓶满的还给老板。如果小张手上有 n 个空汽水瓶,最多可以换多少瓶汽水喝?数据范围:输入的正整数满足 1 \le n \le 100 \1≤n≤100原创 2022-03-04 16:26:02 · 242 阅读 · 0 评论 -
【java华为机试】HJ23 删除字符串中出现次数最少的字符
描述实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。数据范围:输入的字符串长度满足 1 \le n \le 20 \1≤n≤20 ,保证输入的字符串中仅出现小写字母输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出描述:删除字符串中出现次数最少的字符后的字符串。import java.util.Arrays;import原创 2022-03-04 16:27:30 · 825 阅读 · 0 评论 -
【java华为机试】HJ24 合唱队
描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N 位同学站成一排,音乐老师要请其中的 (N - K) 位同学出列,使得剩下的 K 位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为 1,2…,K ,他们的身高分别为 T1,T2,…,TK ,则他们的身高满足存在 i (1<=i<=K) 使得 T1<T2<......<Ti-1<Ti>Ti+1>......>TK 。你的任务是,已知所有N位同学...原创 2022-02-17 15:27:22 · 311 阅读 · 0 评论 -
【java华为机试】HJ26 字符串排序
描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?yimport java.util.Collections;import java.util.LinkedList;import java.uti.原创 2022-02-16 14:23:46 · 341 阅读 · 0 评论 -
【java华为机试】HJ31 单词倒排
描述对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;数据范围:字符串长度满足1 \le n \le 10000 \1≤n≤10000输入描述:输入一行以空格来分隔的句子输出描述:输出句子的逆序import java.util.Sca..原创 2022-02-17 11:53:16 · 154 阅读 · 0 评论 -
【java华为机试】HJ33 整数与IP地址间的转换
描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字相对应的二进制数100000101000000000030000001119311000001组合起来即为:000010100000...原创 2022-05-11 14:51:39 · 367 阅读 · 0 评论 -
【java华为机试】HJ34 图片整理
描述Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过代码解决。Lily使用的图片使用字符"A"到"Z"、"a"到"z"、"0"到"9"表示。数据范围:每组输入的字符串长度满足1 \le n \le 1000 \1≤n≤1000输入描述:一行,一个字符串,字符串中的每个字符表示一张Lily使用的图片。输出描述:Lily的所有图片按照从小到大的顺序输出import jav..原创 2022-05-11 14:54:28 · 202 阅读 · 0 评论 -
【java华为机试】HJ35 蛇形矩阵
描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:136101525914481371211输入描述:输入正整数N(N不大于100)输出描述:输出一个N行的蛇形矩阵。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new S...原创 2022-05-11 15:50:14 · 320 阅读 · 0 评论 -
【java华为机试】HJ37 统计每个月兔子的总数
描述有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?数据范围:输入满足1 \le n \le 31 \1≤n≤31输入描述:输入一个int型整数表示第n个月输出描述:输出对应的兔子总数import java.util.Scanner;public class Main { pub..原创 2022-05-11 15:51:52 · 346 阅读 · 0 评论 -
【java华为机试】HJ38 求小球落地5次后所经历的路程和第5次反弹的高度
描述假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?数据范围:输入的小球初始高度满足 1 \le n \le 1000 \1≤n≤1000 ,且保证是一个整数输入描述:输入起始高度,int型输出描述:分别输出第5次落地时,共经过多少米以及第5次反弹多高。注意:你可以认为你输出保留六位或以上小数的结果可以通过此题。import java.util.Scanner;public class Main原创 2022-05-11 15:53:11 · 248 阅读 · 0 评论 -
【java华为机试】HJ40 统计字符
描述输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。数据范围:输入的字符串长度满足1 \le n \le 1000 \1≤n≤1000输入描述:输入一行字符串,可以有空格输出描述:统计其中英文字符,空格字符,数字字符,其他字符的个数import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scann..原创 2022-05-11 15:54:24 · 148 阅读 · 0 评论 -
【java华为机试】HJ46 截取字符串
描述输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出数据范围:字符串长度满足 1 \le n \le 1000 \1≤n≤1000 , 1 \le k \le n \1≤k≤n输入描述:1.输入待截取的字符串2.输入一个正整数k,代表截取的长度输出描述:截取后的字符串import java.util.Scanner;public class Main { public static void main(String[] args) { Scann原创 2022-05-11 15:55:39 · 274 阅读 · 0 评论 -
【java华为机试】HJ50 四则运算
描述输入一个表达式(用字符串表示),求这个表达式的值。保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’,‘*’,‘/’,‘(’,‘)’,‘[’,‘]’,‘{’,‘}’。且表达式一定合法。数据范围:表达式计算结果和过程中满足|val| \le 1000 \∣val∣≤1000,字符串长度满足1 \le n \le 1000 \1≤n≤1000输入描述:输入一个算术表达式输出描述:得到计算结果import java.util.*;publi...原创 2022-05-11 15:56:51 · 440 阅读 · 0 评论 -
【java华为机试】HJ53 杨辉三角的变形
描述以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。数据范围:输入描述:输入一个int整数输出描述:输出返回的int值import java.util.Scanner;public class Main { public static void..原创 2022-05-11 16:02:16 · 200 阅读 · 0 评论 -
【java华为机试】HJ58 输入n个整数,输出其中最小的k个
描述输入n个整数,找出其中最小的k个整数并按升序输出本题有多组输入样例数据范围:1 \le n \le 1000 \1≤n≤1000,输入的整数满足1 \le val \le 10000 \1≤val≤10000输入描述:第一行输入两个整数n和k第二行输入一个整数数组输出描述:从小到大输出最小的k个整数,用空格分开。import java.util.Scanner;public class Main { public static void mai...原创 2022-05-11 16:03:26 · 348 阅读 · 0 评论 -
【java华为机试】HJ62 查找输入整数二进制中1的个数
描述输入一个正整数,计算它在二进制下的1的个数。注意多组输入输出!!!!!!数据范围: 输入描述:输入一个整数输出描述:计算整数二进制中1的个数import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int s = s原创 2022-05-12 11:30:38 · 208 阅读 · 0 评论 -
【java华为机试】HJ73 计算日期到天数转换
描述根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。进阶:时间复杂度:,空间复杂度:O(1)输入描述:输入一行,每行空格分割,分别是年,月,日输出描述:输出是这一年的第几天import java.util.Scanner;public class Main { public static void main(String[] args) { try (Scanner sc = new Scanner(System.in)) { whil.原创 2022-05-12 11:35:39 · 211 阅读 · 0 评论 -
【java华为机试】HJ76 尼科彻斯定理
描述验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。数据范围:进阶:时间复杂度: ,空间复杂度:输入描述:输入一个int整数输出描述:输出分解后的stringimport java.util.Scanner;public class Main { public stat原创 2022-05-12 11:38:33 · 449 阅读 · 0 评论 -
【java华为机试】HJ84 统计大写字母个数
描述找出给定字符串中大写字符(即'A'-'Z')的个数。数据范围:字符串长度:字符串中可能包含空格或其他字符进阶:时间复杂度:,空间复杂度:输入描述:对于每组样例,输入一行,代表待统计的字符串输出描述:输出一个整数,代表字符串中大写字母的个数import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanne.原创 2022-05-12 11:40:50 · 237 阅读 · 0 评论 -
【java华为机试】HJ90 合法IP
描述IPV4地址可以用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此正号不需要出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。现在需要你用程序来判断IP是否合法。数据范围:数据组数:进阶:时间复杂度:,空间复杂度:输入描述:输入一个ip地址,保证不包含空格输出描述:返回判断的结果YES or NOimport java.util.原创 2022-05-12 11:42:55 · 300 阅读 · 0 评论 -
【java华为机试】HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序
描述输入整型数组和排序标识,对其元素按照升序或降序进行排序数据范围: ,元素大小满足 输入描述:第一行输入数组元素个数第二行输入待排序的数组,每个数用空格隔开第三行输入一个整数0或1。0代表升序排序,1代表降序排序输出描述:输出排好序的数字import java.util.Scanner;public class Main { public static void main(String[] args) {// 第一行输入数组元素个数// 第二行输入待...原创 2022-05-12 11:45:05 · 419 阅读 · 0 评论 -
【java华为机试】HJ106 字符逆序
描述将一个字符串str的内容颠倒过来,并输出。数据范围:输入描述:输入一个字符串,可以有空格输出描述:输出逆序的字符串import java.util.Scanner;/** * * 项目名称:MyTest * 类名称:HJ106 * 类描述:HJ106 字符逆序* 创建人:jinL * 创建时间:2021年12月12日 下午10:23:14 * 修改人:jinL * 修改时间:2021年12月12日 下午10:23:14 * 修改备注: *原创 2022-05-12 11:46:57 · 400 阅读 · 0 评论