华为OD机考题

今天刚考完华为od 的机考,题目难度还是有点,思路并不难,还是基础不够好。
第一题,输入   一行字符串全为字母,区分大小写。
输出:按字符出现次数降序输出,如果同字母大小写相同,先输出小写,后输出大写。
用分号隔开

输入:
xxyyyzYYY
输出:
y:3;Y:3;x:2;z:1


第二题
输入 :N,M  两个正整数
输出:[N,M]范围内的勾股定理三个数 i   j     k   而且i,j,k三个数互为质数
i²+j²=k²
输入:N=0  M=20
输出:3 4 5
5 12 13
8 15 17


第三题
两个长度相同字符串  A和B,以及一个正整数V,求满足条件的连续字符串的最大长度条件:|A[i]-B[i]|<=Z.计算的是ASCII码的绝对值

输入:xxcdefg
cdefghi
输出:2
#打开Python的大门#
全部评论
我机试没过,哎
1 回复
分享
发布于 2022-06-03 21:31
借楼,华为2012中硬OD软开,测试,算法大量HC,base 武汉东莞成都上海杭州西安等地。有意向欢迎私聊
点赞 回复
分享
发布于 2022-06-10 17:28
滴滴
校招火热招聘中
官网直投
试着写了代码:
点赞 回复
分享
发布于 2022-06-28 11:28
有的人抽到简单,有的人抽到的很难,诶
点赞 回复
分享
发布于 2022-07-06 05:52
第一题 用java写的 import java.util.*; public class Main { @SuppressWarnings("resource") public static void main(String[] args){ Scanner sc = new Scanner(System.in); String string = sc.next(); Map<String,Integer> map = new TreeMap<>(new Comparator<String>() { public int compare(String s1, String s2) { return s2.compareTo(s1); } }); for(char c : string.toCharArray()) { String s = String.valueOf(c); map.put(s,map.getOrDefault(s, 0) + 1); } List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet()); Collections.sort(list,(o1, o2) -> o2.getValue() - o1.getValue()); for(Map.Entry<String, Integer> entry : list) { System.out.print(entry.getKey() + ":" + entry.getValue() + ";"); }     } } 如果有a和B的次数都最多会先出a然后B,此情况不知符合题意吗
点赞 回复
分享
发布于 2022-07-09 21:33
第二题 暴力写法  import java.util.*; public class Main { @SuppressWarnings("resource") public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); List<Integer> list = new LinkedList<>(); for(int i = N;i <= M; i++) { list.add(i * i); } boolean flag = false; for(int i=0;i<list.size();i++) { int C = list.get(i); for(int j=i-1;j > 0;j--) { int B = list.get(j); int A = C - B; if(list.contains(A) && gcd(A,B) == 1 && gcd(B,C) == 1 && gcd(A,C) == 1) { System.out.println((int)Math.sqrt(A) + " " + (int)Math.sqrt(B) + " " + (int)Math.sqrt(C)); flag = true; break; } } } if(!flag) System.out.println("Null");     } public static int gcd(int a, int b) { return b == 0 ? a : gcd(b,a%b); } }
点赞 回复
分享
发布于 2022-07-09 22:25

相关推荐

10 49 评论
分享
牛客网
牛客企业服务