当前位置: 首页 > news >正文

华为机试题

目录

    • 第一章、HJ1计算字符串最后一个单词的长度,单词以空格隔开。
    • 1.1)描述
    • 1.2)解题
    • 第二章、算法题HJ2 计算某字符出现次数
    • 1.1)题目描述
    • 1.2)解题思路与答案
    • 第三章、算法题HJ3 明明的随机数
    • 1.1)题目描述
    • 1.2)解题思路与答案
    • 第四章、算法题HJ4 字符串分隔
    • 1.1)题目描述
    • 1.2)解题思路与答案
    • 第五章、算法题HJ5 进制转换
    • 1.1)题目描述
    • 1.2)解题思路与答案
    • 1.3)派仔的解题思路与答案
    • 第六章、算法题HJ6 质数因子
    • 1.1)题目描述
    • 1.2)文的盲的解题思路与答案
    • 第七章、算法题HJ7 取近似值
    • 1.1)题目描述
    • 1.2)第一种解题思路与答案
    • 1.3)第二种解题思路与答案
    • 第八章、算法题HJ8 合并表记录
    • 1.1)题目描述
    • 1.2)解题思路与答案

第一章、HJ1计算字符串最后一个单词的长度,单词以空格隔开。

1.1)描述

描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
在这里插入图片描述

1.2)解题

import java.util.Scanner;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);String st = sc.nextLine();String[] s = st.split("\\s+") ;//或者st.split(" ");int length = s[s.length - 1].length();System.out.println(length);}}

第二章、算法题HJ2 计算某字符出现次数

1.1)题目描述

题目描述:
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)

示例:
在这里插入图片描述

1.2)解题思路与答案

解题思路:
①查看示例是不关心大小写的,所以需要将大写转为小写
②将s1需要查找的字符串(即s2)全部替换为 “”
③将原来的字符串长度-替换过后的字符串长度=出现的次数

答案:

    public static void main(String[] args){Scanner input = new Scanner(System.in);// 输入第一个字符串并且全部转小写String s1 = input.nextLine().toLowerCase();// 输入单个字符串并且转小写String s2 = input.nextLine().toLowerCase();// 完整字符的长度-单个字符长度 = 出现的次数int num = s1.length() - s1.replaceAll(s2,"").length();System.out.println(num);}

第三章、算法题HJ3 明明的随机数

1.1)题目描述

题目描述:
明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。

数据范围: 1 \le n \le 1000 \1≤n≤1000 ,输入的数字大小满足 1 \leval \le 500 \1≤val≤500

输入描述:
第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。

输出描述:
输出多行,表示输入数据处理后的结果

示例:
在这里插入图片描述

1.2)解题思路与答案

解题思路:
①将数据存入TreeSet集合进行去重+排序
②遍历输出数据

答案:

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//获取总个数int num = sc.nextInt();//创建TreeSet进行去重排序TreeSet se = new TreeSet();//输入num个数据for(int i =0 ; i < num ;i++){se.add(sc.nextInt());}Iterator iterator = se.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}}
}

第四章、算法题HJ4 字符串分隔

1.1)题目描述

题目描述:
描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:
连续输入字符串(每个字符串长度小于等于100)

输出描述:
依次输出所有分割后的长度为8的新字符串

示例:
在这里插入图片描述

1.2)解题思路与答案

Luo_xguan的解题思路:
1.获取输入的字符串
2.判断字符串长度,小于8,在后面补上0,达到8位,大于8,先以8位作为
一段截取,再判断剩余字符串长度与8比较,如果小于8,照上述操作,大于8,先截取8位,再判断剩下的…如此循环操作。

答案:

import java.util.Scanner;
/*** @author lxg* @description 字符串分割* @date 2021/9/26*/
public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);while(input.hasNextLine()){String s = input.nextLine();split(s);}}public static void split(String s){while(s.length()>=8){System.out.println(s.substring(0,8));s=s.substring(8);}if(s.length()<8 && s.length()>0){s+="00000000";System.out.println(s.substring(0,8));}}
}

第五章、算法题HJ5 进制转换

1.1)题目描述

题目描述:
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在

输入描述:
输入一个十六进制的数值字符串。

输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例:
在这里插入图片描述

1.2)解题思路与答案

解题思路:
①使用Java自带的Integer.parseInt(String,16) 方法

答案:

import java.io.*;
import java.util.*;public class Main{public static void main(String[] args) throws Exception{Scanner sc = new Scanner(System.in);while(sc.hasNextLine()){String s = sc.nextLine();System.out.println(Integer.parseInt(s.substring(2,s.length()),16));}}
}

1.3)派仔的解题思路与答案

①res = res * BASE + map.get(ch); 这个公式是精华原理如图:
在这里插入图片描述

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Putest {private final static int BASE = 16;private static Map<Character, Integer> map = new HashMap<Character, Integer>(){{put('0', 0);put('1', 1);put('2', 2);put('3', 3);put('4', 4);put('5', 5);put('6', 6);put('7', 7);put('8', 8);put('9', 9);put('A', 10);put('B', 11);put('C', 12);put('D', 13);put('E', 14);put('F', 15);put('a', 10);put('b', 11);put('c', 12);put('d', 13);put('e', 14);put('f', 15);}};public static int getDecimal(String number) {int res = 0;char [] arr =number.toCharArray();for( int i=0;i<arr .length;++i){//这个公式是精华,map.get()方法返回指定键所映射的值res = res * BASE + map.get(arr[i]);}/*      也可以这样写循环for (char ch : number.toCharArray()) {//这个公式是精华,map.get()方法返回指定键所映射的值res = res * BASE + map.get(ch);}*/return res;}public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {String number = in.next();int res = getDecimal(number.substring(2));System.out.println(res);}}
}

第六章、算法题HJ6 质数因子

1.1)题目描述

题目描述:
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
在这里插入图片描述

输入描述:
输入一个整数

输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。

示例:
在这里插入图片描述
在这里插入图片描述

1.2)文的盲的解题思路与答案

解题思路:
①试除法是一种简单有效的方法,可以快速找到给定数的质因数。首先,从最小的质数2开始,不断用给定数去除,如果能整除,则找到一个质因数,并将其记录下来。然后将商作为新的数,继续用质数去除,直到商变为1为止。这样就可以找到给定数的所有质因数。
②因为一个正整数最多有一个质因子大于其平方根,且只会是其本身所以我们判断数 num 是不是质数时,没必要从 2 一直尝试到 num 一样,此题中的大循环也大可不必写一个到 num 的循环,写到 根号num即可,如果此时数字还没有除数,则可判定其本身是一个质数,没有再除下去的必要了,直接打印其本身即可:

答案:

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long num = scanner.nextLong();long k = (long) Math.sqrt(num);for (long i = 2; i <= k; ++i) {while (num % i == 0) {System.out.print(i + " ");num /= i;}}System.out.println(num == 1 ? "": num+" ");
}

第七章、算法题HJ7 取近似值

1.1)题目描述

题目描述:
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:
输入一个正浮点数值

输出描述:
输出该数值的近似整数值

示例:
在这里插入图片描述

1.2)第一种解题思路与答案

派仔的解题思路:
①浮点数强转int时,直接舍掉小数,只留下整数。

答案:

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);double number = in.nextDouble();System.out.println((int)(number + 0.5));}
}

1.3)第二种解题思路与答案

解题思路:
①Java中的Math.round()方法是将浮点型进行“四舍五入”转换为int类型的一个方法

答案:

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);Double d = sc.nextDouble();System.out.println((int)Math.round(d));}
}

第八章、算法题HJ8 合并表记录

1.1)题目描述

题目描述:
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。
提示:
0 <= index <= 11111111
1 <= value <= 100000

输入描述:
先输入键值对的个数n(1 <= n <= 500)
接下来n行每行输入成对的index和value值,以空格隔开

输出描述:
输出合并后的键值对(多行)

示例:
在这里插入图片描述

1.2)解题思路与答案

fuxiaoxian的解题思路:
①使用map, 然后要自动排序,就可是使用treeMap
②用map自带的getOrDefault方法,如果根据key没有值,就用默认的0表示方法的值,如果能根据key找到对应的值,那么直接赋值

答案:

import java.util.*;
public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);TreeMap<Integer,Integer>  map = new TreeMap<>();while(sc.hasNext()){int n = sc.nextInt();for(int i =0;i<n;i++){int key = sc.nextInt();int value = sc.nextInt();map.put(key,map.getOrDefault(key,0)+value);}for(Integer i : map.keySet()){System.out.println(i+" "+map.get(i));}}}
}

相关文章:

华为机试题

目录 第一章、HJ1计算字符串最后一个单词的长度&#xff0c;单词以空格隔开。1.1&#xff09;描述1.2&#xff09;解题第二章、算法题HJ2 计算某字符出现次数1.1&#xff09;题目描述1.2&#xff09;解题思路与答案第三章、算法题HJ3 明明的随机数1.1&#xff09;题目描述1.2&a…...

【VUE】Vue3+Element Plus动态间距处理

目录 1. 动态间距调整1.1 效果演示1.2 代码演示 2. 固定间距2.1 效果演示2.2 代码演示 其他情况 1. 动态间距调整 1.1 效果演示 并行效果 并列效果 1.2 代码演示 <template><div style"margin-bottom: 15px">direction:<el-radio v-model"d…...

华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)

华为 2024 届校园招聘-硬件通⽤/单板开发——第一套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;共十套&#xff09;获取&#xff08;WX:didadidadidida313&#xff0c;加我…...

自己整理的ICT云计算题库四

14. 【多选题】 CIFS 支持的认证方式是以下哪些选项&#xff1f; A: A 全局认证 B: B LADP 域 C: C 本地认证 D: D AD 域 答案 正确答案&#xff1a;ACD 解释 全局认证为先本地&#xff0c;后AD&#xff0c;再LADP 15. 【单选题】 华为 oceanstor v3 smarterase 在使用时…...

5.消息队列

消息队列 ​ 消息队列是一种常用的线程间通讯方式&#xff0c;用来传输数据。使用消息队列传输数据时有两种方法&#xff1a;拷贝&#xff1a;把数据、把变量的值复制进消息队列里&#xff1b;引用&#xff1a;把数据、把变量的地址复制进消息队列里。rtt使用拷贝值的方法。 …...

基于强化学习的对抗意图识别

源自&#xff1a;指挥与控制学报 作者&#xff1a;白亮&#xff0c; 肖延东&#xff0c; 齐景涛 “人工智能技术与咨询” 发布 摘 要 未来智能化战争复杂多变&#xff0c;敌我双方往往以对抗博弈情况出现&#xff0c;当我方作为攻击者时&#xff0c;如何有效隐藏我方意图实…...

vue canvas绘制信令图,动态显示标题、宽度、高度

需求: 1、 根据后端返回的数据&#xff0c;动态绘制出信令图 2、根据 dataStatus 返回值&#xff1a; 0 和 1&#xff0c; 判断 文字内容的颜色&#xff0c;0&#xff1a;#000&#xff0c;1&#xff1a;red 3.、根据 lineType 返回值&#xff1a; 0 和 1&#xff0c; 判断 箭…...

无影云电脑不能连接到本机的调试串口的解决方案

目录 概述 解决方案 云端电脑中的操作 本地USBDK驱动程序的更新 概述 我从1月份开始使用阿里的无影云电脑进行嵌入式开发板的测试&#xff0c;主要的原因有两个&#xff1a;一是平时使用的笔记本资源过于紧张&#xff0c;二是方便移动办公&#xff0c;这样我只要平时拿着开…...

gpt科普1 GPT与搜索引擎的对比

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种基于Transformer架构的自然语言处理模型。它通过大规模的无监督学习来预训练模型&#xff0c;在完成这个阶段后&#xff0c;可以用于各种NLP任务&#xff0c;如文本生成、机器翻译、文本分类等。 以下是关…...

Element-plus使用中遇到的问题

el-input 设置typenumber&#xff0c;会出现上下箭头&#xff0c;在全局配置css样式即可解决&#xff0c;在app.vue中的css中加入&#xff1a;.table-clear-row {input::-webkit-outer-spin-button,input::-webkit-inner-spin-button {-webkit-appearance: none;}input[type&q…...

如何使用Arduino IDE对STM32F103C8T6进行编程

使用Arduino IDE对STM32F103C8T6进行编程调试&#xff0c;你需要进行一些准备工作和设置。以下是详细的操作步骤&#xff1a; 准备工作&#xff1a; 安装Arduino IDE&#xff1a;确保你已经安装了最新版本的Arduino IDE。可以从官方网站 https://www.arduino.cc/en/software 下…...

【迅为iMX6Q】开发板 Linux version 6.6.3 SD卡 启动

开发环境 win10 64位 VMware Workstation Pro 16 ubuntu 20.04 【迅为imx6q】开发板&#xff0c; 2G DDR RAM linux-imx 下载 使用 NXP 官方提供的 linux-imx&#xff0c;代码地址为&#xff1a; https://github.com/nxp-imx/linux-imx 使用 git 下载 linux-imx&#xff…...

C语言每日一题(66)三数之和

题目链接 力扣15.三数之和 题目描述 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答…...

vue3-element-admin实现同一个菜单多标签

原框架代码: 赵志江/huzhushan-vue3-element-admin 目录 TagsBar实现 实现同一个菜单多标签 device/detail/:id&#xff0c;不同参数时页面缓存删不掉的问题 TagsBar实现 在src/layout/components/下新建目录Tagsbar&#xff0c;新建index.vue <template><div c…...

第三十六节 Java 网络编程

网络编程是指编写运行在多个设备&#xff08;计算机&#xff09;的程序&#xff0c;这些设备都通过网络连接起来。 java.net包中J2SE的API包含有类和接口&#xff0c;它们提供低层次的通信细节。你可以直接使用这些类和接口&#xff0c;来专注于解决问题&#xff0c;而不用关注…...

DRF的认证、权限、限流、序列化、反序列化

DRF的认证、权限、限流、序列化、反序列化 一、认证1、直接用&#xff0c;用户授权2、认证组件源码 二、权限1. 直接使用&#xff0c;用户权限2.权限组件源码 三、序列化1. 序列化1.1 自定义Serailizer类序列化1.2 在视图APIView中使用1.3 自定义ModelSerializer类序列化1.4 不…...

解决:Cannot read properties of undefined (reading ‘validate‘)问题

问题&#xff1a;Element UI使用表单校验功能控制台出现Cannot read properties of undefined (reading validate)报错 解决&#xff1a;在 <el-form :model"form" :rules"rules">添加 ref"form"&#xff0c;form为自定义的表单名称 <…...

关于IP地址发展历程的详细探讨

IP地址的发展历程是一段不断演进、适应网络技术发展的历史。自互联网诞生以来&#xff0c;IP地址作为网络设备的唯一标识&#xff0c;扮演了至关重要的角色。以下是对IP地址发展历程的详细探讨。 在互联网的初期&#xff0c;主机数量相对较少&#xff0c;IP地址主要用于区分不…...

【LeetCode热题100】【二叉树】将有序数组转换为二叉搜索树

题目链接&#xff1a;108. 将有序数组转换为二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 取中间的数作为根节点&#xff0c;左边的数递归转换&#xff0c;右边的数递归转换 class Solution { public:TreeNode *sortedArrayToBST(vector<int> &nums) {retur…...

文心一言和GPT-4全面比较

自大型语言模型出现以来&#xff0c;人工智能在自然语言处理方面取得了显著进步。文心一言和GPT-4是当前最先进的两款语言模型&#xff0c;在业内广受关注。两者都具有强大的能力&#xff0c;但各有特点和优势。本文将从多个方面对这两个模型进行全面比较&#xff0c;以帮助读者…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究

摘要&#xff1a;在消费市场竞争日益激烈的当下&#xff0c;传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序&#xff0c;探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式&#xff0c;分析沉浸式体验的优势与价值…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验

2024年初&#xff0c;人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目&#xff08;一款融合大型语言模型能力的云端AI编程IDE&#xff09;时&#xff0c;技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力&#xff0c;TRAE在WayToAGI等…...

构建Docker镜像的Dockerfile文件详解

文章目录 前言Dockerfile 案例docker build1. 基本构建2. 指定 Dockerfile 路径3. 设置构建时变量4. 不使用缓存5. 删除中间容器6. 拉取最新基础镜像7. 静默输出完整示例 docker runDockerFile 入门syntax指定构造器FROM基础镜像RUN命令注释COPY复制ENV设置环境变量EXPOSE暴露端…...