【机考练习地址】机考练习地址(供参考):
https://www.nowcoder.com/ta/huawei

  1. HJ1 字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine();int current=0;char br=' ';for(int i=0;i<str.length();i++){if(str.charAt(i)==br)//查询一个字符串某个字符是什么{current=0;}else{current++;}}System.out.println(current);}}
  1. HJ2 计算某字符出现次数

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

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine().toLowerCase();char s=sc.nextLine().toLowerCase().charAt(0);int count=0;for(int i=0;i<str.length();i++){if(str.charAt(i)==s){count++;}}System.out.println(count);}
}
  1. HJ3 明明的随机数

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

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);int num=sc.nextInt();//nextint在java中是取下一个随机的整数TreeSet<Integer> set = new TreeSet<>();//遍历集合时,输出的所有元素是有序的
//         for(int i=0;i<num;i++){//             int r=new Random().nextInt(500);
//             set.add(r);
//         }for(int i=0;i<num;i++){set.add(sc.nextInt());}for(Integer i:set){System.out.println(i);}       }
}
  1. HJ4 字符串分隔

输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);       while(sc.hasNextLine()){String str = sc.nextLine();while(str.length()>8){System.out.print(str.substring(0,8));System.out.print("\n");str=str.substring(8);               }str=str+"00000000";System.out.println(str.substring(0,8));}}
}
  1. HJ5 进制转换

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

import java.util.*;public class Main{public static void main(String[] args){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. HJ6 质数因子

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

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);long num=sc.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+" ");
}
  1. HJ7 取近似值

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

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);float s=sc.nextFloat();if((s-(int)s)>=0.5){s=(int)s+1;System.out.println((int)s);}else{s=(int)s;System.out.println((int)s);}}
}
  1. HJ8 合并表记录

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

// import java.util.*;// public class Main{//     public static void main(String[] args){//         Scanner sc =new Scanner(System.in);
//         TreeMap<Integer,Integer> map=new TreeMap<>();
//         int n=sc.nextInt();
//         for(int i=0;i<n;i++){//             int key=sc.nextInt();
//             int value=sc.nextInt();//             if(!map.containsKey(map)){//                 map.put(key,value);
//             }else{//                 map.put(key,map.get(key)+value);//Map.get方法——返回指定键所映射的值
//             }
//         }//         for (Integer i:map.keySet()){//Map.keySet()方法:获取Map集合的所有键名
//             System.out.println(i+" "+map.get(i));
//         }//     }
// }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.hasNextInt()){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);//getOrDefault() 方法获取指定 key 对应对 value,//如果找不到 key ,则返回设置的默认值}}for (Integer i : map.keySet()) {System.out.println(i + " " + map.get(i));}}
}
  1. HJ9 提取不重复的整数

输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);//逆序排列//StringBuilder对象则代表一个字符序列可变的字符串,//当一个StringBuilder被创建以后,通过StringBuilder提供的//append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变//这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串,//就可以调用它的toString()方法将其转换为一个String对象。StringBuilder sb=new StringBuilder(sc.nextLine()).reverse();String str=sb.toString();//结果集StringBuilder result=new StringBuilder();for(int i=0;i<str.length();i++){if(str.indexOf(str.charAt(i))==i){//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置result.append(str.charAt(i));//append()向列表添加元素}}System.out.println(result.toString());}
}
  1. HJ10 字符个数统计

编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.next();//next() 返回迭代器的下一个项目HashSet<Character> hs=new HashSet<Character>();//将字符串转换为字符数组,获取每一个字符存储在HashSet集合中,自动去除重复for(int i=0;i<str.length();i++){hs.add(str.charAt(i));}System.out.println(hs.size());}
}
  1. HJ11 数字颠倒(上一题的简单版)

输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);StringBuilder sb=new StringBuilder(sc.nextLine()).reverse();String str=sb.toString();System.out.println(str);}
}
  1. HJ12 字符串反转

接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
输入描述:
输入一行,为一个只包含小写字母的字符串。
输出描述:
输出该字符串反转后的字符串。

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);StringBuilder sb=new StringBuilder(sc.nextLine()).reverse();String str=sb.toString();System.out.println(str);}
}
  1. HJ13 句子逆序

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine();String s[]=str.split(" ");//以空格分隔单词for(int i=s.length-1;i>=0;i--){if(i!=0)System.out.print(s[i]+" ");//倒序输出boy a am IelseSystem.out.print(s[i]);}        }
}

【华为机考刷题】2022_6_14相关推荐

  1. 2023华为机考刷题指南:八周机考速通车

    2023.1.13更新: 拿到了华子offer,看到这个贴子一直有人收藏,最近有空完善一下,主要是把深搜的几道题的题号添上. 华子的机考不算简单,挺难的,还是得好好准备一下,而且技术面必撕题,所以刷题 ...

  2. Python 华为机考真题【用户调度问题】分值【Q2-200】

    提示:机考笨方法也许也是好方法(本题考深度优先搜索) 前言 华为题型: (1)考试时长150分钟.三道应用编程题,生活中的问题,用程序解决. (2)前两道各100分,第三道200分. (3)前两道相对 ...

  3. 华为机考1-54题总结

    华为笔试面试机考在线练习,欢迎练习并在讨论区交流题解与想法. 华为机试 质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 ...

  4. 华为机考108题(c++)(31-40)

    HJ31 单词倒排 描述 对字符串中的所有单词进行倒排. 说明: 1.构成单词的字符只有26个大写或小写英文字母: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如 ...

  5. 华为机考108题(c++)(101-108)

    HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序 描述 输入整型数组和排序标识,对其元素按照升序或降序进行排序 数据范围: 1≤n≤1000  ,元素大小满足 0≤val≤10000 ...

  6. 牛客华为机试题刷题笔记总结[103题更新完毕才收尾,建议关注收藏]

    面试题链接

  7. 华为机考108题(c++)(41-51)

    HJ41 称砝码 描述 现有n种砝码,重量互不相等,分别为 m1,m2,m3-mn : 每种砝码对应的数量为 x1,x2,x3...xn .现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种 ...

  8. 华为机考108题(c++)(52-61)

    HJ52 计算字符串的编辑距离 描述 Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个 ...

  9. 华为机考108题(c++)(81-90)

    HJ81 字符串字符匹配 描述 判断短字符串S中的所有字符是否在长字符串T中全部出现. 请注意本题有多组样例输入. 数据范围:1≤len(S),len(T)≤200 进阶:时间复杂度:O(n),空间复 ...

最新文章

  1. 阿里某员工:发完年终奖后就离职,工作让我心力交瘁
  2. UA MATH571A QE练习 R语言 多重共线性与岭回归
  3. android path 详解
  4. 九十九、Python所学经验分享
  5. 连锁反应装置积木好玩到尖叫!
  6. VS2010主题设置及插件推荐
  7. 妈咪,我找到了!15个实用的Linux find命令示例
  8. POJ 3624 Charm Bracelet 0-1背包
  9. 深度神经网络反向传播算法
  10. Centos系统新建文本文档.txt
  11. 数学分析 积分表及常用积分公式
  12. directshow
  13. Matlab突然闪退 出现Fatal Error On Startup解决办法
  14. 决策表是什么?怎么使用决策表?
  15. oracle导出数据库dmp文件
  16. 超参数的选择与交叉验证
  17. 【Three.js入门】标准网格材质、置换贴图、粗糙度贴图、金属贴图、法线贴图
  18. 自动驾驶平台Apollo 2.5阅读手记:perception模块之camera detector
  19. 项目管理计算:EV、PV、AC、BAC、CV、SV、EAC、ETC、CPI、SPI各是什么意思
  20. 响应式Web设计(四):响应式Web设计的优化

热门文章

  1. 100+个数据分析常用指标和术语
  2. w10解决qq,微信语音自己说话别人听不到
  3. 2022-2028年全球与中国全轮驱动(AWD)系统行业深度分析
  4. python 微博自动点赞软件_Python微博工具人,每日一句英语自动发
  5. 机器学习——基础知识
  6. MAC 下 CocoaPods 安装与使用来管理项目第三方框架
  7. 谷歌标签恢复_避免/从Google惩罚中恢复
  8. Instagram API平台文档
  9. 布局布线流程的10大步骤
  10. 设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。