《华为机试》
胡萝卜的《华为机试》
O_胡萝卜_O
FBI
展开
-
《华为机试》
原创 2022-03-22 19:12:09 · 568 阅读 · 0 评论 -
《华为机试》刷题之HJ1 字符串最后一个单词的长度
一、题目计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。二、示例输入:hello nowcoder输出:8说明:最后一个单词为nowcoder,长度为8 三、代码print(len(input().split(' ')[-1]))四、算法说明将输入的字符串按照空格分割为列表,输出最后一个元素的长度。胡原创 2022-02-07 21:44:21 · 199 阅读 · 0 评论 -
《华为机试》刷题之HJ2 计算某字符出现次数
一、题目写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)。数据范围:1≤n≤10001\le n\le 10001≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)二、示例输入:ABCabc A输出:2三、代码temp = input().lower()s = input().lower()原创 2022-02-07 21:43:58 · 221 阅读 · 0 评论 -
《华为机试》刷题之HJ3 明明的随机数
一、题目明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数( N≤1000 ),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。当没有新的输入时,说明输入结原创 2022-02-07 21:43:34 · 926 阅读 · 0 评论 -
《华为机试》刷题之HJ4 字符串分隔
题目:连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;。长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。(注:本题有多组输入)输入描述:连续输入字符串(输入多次,每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例:输入:abc 123456789输出:abc00000 12345678 90000000代码1:while True: try: s = input(.原创 2022-02-07 21:46:57 · 237 阅读 · 0 评论 -
《华为机试》刷题之HJ5 进制转换
一、题目写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1≤n≤231−11\le n\le 2^{31}-11≤n≤231−1注意本题有多组输入输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。二、示例输入:0xA 0xAA输出:10 170三、代码dict1 = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':原创 2022-02-04 15:26:01 · 498 阅读 · 0 评论 -
《华为机试》刷题之HJ6 质数因子
一、题目功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )。数据范围:1≤n≤2×109+141\le n\le 2\times {10}^9+141≤n≤2×109+14输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。二、示例输入:180输出:2 2 3 3 5三、代码import mathn = int(input())for i in rang原创 2022-02-04 15:25:11 · 440 阅读 · 0 评论 -
《华为机试》刷题之HJ7 取近似值
《华为机试》刷题之取近似值 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目:写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。输入描述: 输入一个正浮点数值输出描述: 输出该数值的近似整数值示例:示例 1 :输入:5.5返回值:6代码1:print int(input()+0.5)算法说明:浮点数+0.5,强制原创 2021-04-19 15:35:47 · 88 阅读 · 0 评论 -
《华为机试》刷题之HJ8 合并表记录
一、题目数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。提示:0 <= index <= 111111111 <= value <= 100000输入描述:先输入键值对的个数 n(1 <= n <= 500)然后输入成对的 index 和 value 值,以空格隔开输出描述:输出合并后的键值对(多行)二、示例输入: 4 0 1 0 2 1 2原创 2022-02-04 15:24:48 · 143 阅读 · 0 评论 -
《华为机试》刷题之HJ9 提取不重复的整数
一、题目输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0 。数据范围:1≤n≤1081\le n\le 10^81≤n≤108输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数二、示例输入:9876673输出:37689三、代码int1 = list(input())temp = []for i in range(len(int1)-1,-1,-1): if in原创 2022-02-04 15:24:32 · 260 阅读 · 0 评论 -
《华为机试》刷题之HJ10 字符个数统计
一、题目编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次,例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。数据范围:1≤n≤5001\le n\le 5001≤n≤500输入描述:输入一行没有空格的字符串。输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。二、示例输入:abc输出:3原创 2022-02-07 21:46:40 · 207 阅读 · 0 评论 -
《华为机试》刷题之HJ11 数字颠倒
《华为机试》刷题之数字颠倒 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述: 输入一个int整数输出描述: 将这个整数以字符串的形式逆序输出示例:示例 1 :输入:1516000返回值:0006151代码1:number = input()原创 2021-04-30 10:45:46 · 138 阅读 · 0 评论 -
《华为机试》刷题之HJ12 字符串反转
《华为机试》刷题之字符串反转 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目:接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)输入描述: 输入一行,为一个只包含小写字母的字符串。输出描述: 输出该字符串反转后的字符串。示例:示例 1 :输入:abcd返回值:dcba代码1:print(input()[::-1])算法说明:略。。。原创 2021-05-12 09:40:04 · 139 阅读 · 0 评论 -
《华为机试》刷题之HJ13 句子逆序
一、题目二、示例三、代码temp = input().split(' ')temp.reverse()print(' '.join(temp))四、算法说明将输入的字符串按照空格进行分割,然后翻转,用空格连接生成一个新的字符串。胡萝卜 编辑时间:2022年1月17日22:14:44 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! ...原创 2022-02-04 15:24:16 · 112 阅读 · 0 评论 -
《华为机试》刷题之HJ14 字符串排序
一、题目给定 n 个字符串,请对 n 个字符串按照字典序排列。数据范围:1≤n≤10001\le n\le 10001≤n≤1000 ,字符串长度满足:1≤len≤1001\le len\le 1001≤len≤100输入描述:输入第一行为一个正整数 n(1≤n≤10001\le n\le 10001≤n≤1000),下面 n 行为 n 个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出 n 行,输出结果为按照字典序排列的字符串。二、示例输入:9 cap to原创 2022-02-07 21:46:23 · 713 阅读 · 0 评论 -
《华为机试》刷题之HJ15 求int型正整数在内存中存储时1的个数
一、题目二、示例三、代码print(bin(int(input())).count('1'))四、算法说明按照题意进行编程。胡萝卜 2022年1月18日18:04:24 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! ...原创 2022-02-04 15:23:56 · 459 阅读 · 0 评论 -
《华为机试》刷题之HJ16 购物单
一、题目二、示例三、代码N, m = map(int, input().split())primary, annex = {}, {}for i in range(1, m+1): # 输入 v, p, q = map(int, input().split()) if q == 0: primary[i] = [v, p] else: if q in annex: annex[q].append([v, p])原创 2022-03-22 12:03:42 · 255 阅读 · 0 评论 -
《华为机试》刷题之HJ17 坐标移动
一、题目开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。、输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; %; YAD; 等。下面是一个简单的例子 如:A10;S20;W10;D30;X;A1A;B10A11;;A10;处理过程:起点(0,0)A10 = (-10,0)S2原创 2022-02-04 15:25:46 · 279 阅读 · 0 评论 -
《华为机试》刷题之HJ18 识别有效的IP地址和掩码并进行分类统计
一、题目请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。所有的IP地址划分为 A,B,C,D,E五类A类地址从1.0.0.0到126.255.255.255;B类地址从128.0.0.0到191.255.255.255;C类地址从192.0.0.0到223.255.255.255;D类地址从224.0.0.0到239.255.255.255;E类地址从240.0.0.0到255.255.255.255私网IP范围是:从10.0.0.原创 2022-03-18 14:28:14 · 679 阅读 · 0 评论 -
《华为机试》刷题之HJ19 简单错误记录
一、题目二、示例三、代码error = {}list1 = []while True: try: record = input().split('\\')[-1] file = record.split() if len(file[0]) >= 16: file[0] = file[0][-16:] if ' '.join(file) not in error.keys():原创 2022-03-09 16:57:00 · 246 阅读 · 0 评论 -
《华为机试》刷题之HJ20 密码验证合格程序
《华为机试》刷题之HJ20 密码验证合格程序原创 2022-01-30 22:39:19 · 234 阅读 · 0 评论 -
《华为机试》刷题之HJ21 简单密码
题目:密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。他是这么变换的,大家都知道手机上的字母: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7,.原创 2022-02-07 21:52:15 · 110 阅读 · 0 评论 -
《华为机试》刷题之HJ22 汽水瓶
一、题目二、示例三、代码while True: try: n=int(input()) if n == 0: break print(n//2) except: break四、算法说明当手里有两个瓶子的时候,可以借一还一,因此,能喝的瓶数等于目前空瓶数除以 2.胡萝卜 2022年1月18日18:28:31 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋原创 2022-02-04 15:21:49 · 224 阅读 · 0 评论 -
《华为机试》刷题之HJ23 删除字符串中出现次数最少的字符
一、题目二、示例三、代码while True: try: str1 = input() dic = {} result = '' for item in str1: if item not in dic: dic[item] = 1 else: dic[item] += 1 Min_index = m原创 2022-02-08 14:55:45 · 373 阅读 · 0 评论 -
《华为机试》刷题之HJ24 合唱队
一、题目二、示例三、代码import bisectdef fun(N, s): temp = [s[0]] dp = [1] * N for i in range(1, N): if s[i] > temp[-1]: temp.append(s[i]) dp[i] = len(temp) else: item = bisect.bisect_left(temp,原创 2022-03-16 13:06:38 · 314 阅读 · 0 评论 -
《华为机试》刷题之HJ25 数据分类处理
一、题目二、示例三、代码while True: try: I = input().split()[1:] R = map(str, sorted(map(int,set(input().split()[1:])))) total_Nums = 0 result = "" for item in R: temp, counts = '', 0 for i in ra原创 2022-03-14 14:40:32 · 506 阅读 · 0 评论 -
《华为机试》刷题之HJ26 字符串排序
一、题目二、示例三、代码while True: try: s = input() a = [] for i in s: if i.isalpha(): a.append(i) a.sort(key=str.lower) for i in range(len(s)): if s[i].isalpha():原创 2022-02-27 13:19:19 · 285 阅读 · 0 评论 -
《华为机试》刷题之HJ27 查找兄弟单词
一、题目二、示例三、代码while True: try: temp = [] list1 = input().split() n = int(list1[0]) k = int(list1[-1]) x = list1[-2] for i in list1: if x != i and sorted(x) == sorted(i): tem原创 2022-03-10 08:51:50 · 267 阅读 · 0 评论 -
《华为机试》刷题之HJ28 素数伴侣
一、题目二、示例三、代码def isPrime(x): # 定义判断是否是素数的函数 for i in range(2, int(x ** 0.5) + 1): if x % i == 0: return False return Truedef match(odd): # 奇数和偶数的匹配 for i in range(n): if isPrime(odd + evens[i]) and temp[i]原创 2022-03-06 00:24:50 · 759 阅读 · 0 评论 -
《华为机试》刷题之HJ29 字符串加解密
一、题目二、示例三、代码dic1 = {'a':'B', 'b':'C', 'c':'D', 'd':'E', 'e':'F', 'f':'G', 'g':'H', 'h':'I', 'i':'J', 'j':'K', 'k':'L', 'l':'M', 'm':'N', 'n':'O', 'o':'P', 'p':'Q', 'q':'R', 'r':'S', 's':'T', 't':'U', 'u':'V', 'v':'W', 'w':'X原创 2022-03-10 08:51:29 · 526 阅读 · 0 评论 -
《华为机试》刷题之HJ30 字符串合并处理
一、题目二、示例三、代码import rewhile True: try: s = list(input().replace(' ', '')) s[::2] = sorted(s[::2]) s[1::2] = sorted(s[1::2]) res = "" for i in s: if re.search(r'[0-9a-fA-F]', i): t原创 2022-03-15 12:20:45 · 277 阅读 · 0 评论 -
《华为机试》刷题之HJ31 单词倒排
《华为机试》刷题之单词倒排 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目:对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;输入描述: 输入一行以空格来分隔的句子输出描述: 输原创 2022-02-02 14:17:26 · 105 阅读 · 0 评论 -
《华为机试》刷题之HJ32 密码截取
一、题目二、示例三、代码s = input()n = len(s)res = []for i in range(n-1): for j in range(i+1,n): if s[j] == s[i] and s[i:j] == s[j:i:-1]: res.append(len(s[i:j]) + 1)print(max(res))四、算法说明两层循环遍历字符串,两个指针的元素相同,且指针之间的字符串形成回文,则记录子串的长度,输出最原创 2022-03-11 15:19:15 · 277 阅读 · 0 评论 -
《华为机试》刷题之HJ33 整数与IP地址间的转换
一、题目二、示例三、代码# 定义IP地址转化为10进制子函数def funIp_10(s): s = map(int, s.split('.')) temp = '0' * 8 res = [] for i in s: temp += bin(i)[2:] res.append(temp[-8:]) temp = '0' * 8 res = ''.join(res) int1原创 2022-03-11 15:19:45 · 269 阅读 · 0 评论 -
《华为机试》刷题之HJ34 图片整理
一、题目二、示例三、代码while True: try: print(''.join(sorted(list(input())))) except: break四、算法说明将字符串转化为列表,直接使用sorted()函数。胡萝卜 2022年1月18日19:14:29 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! ...原创 2022-02-04 15:21:20 · 203 阅读 · 0 评论 -
《华为机试》刷题之HJ35 蛇形矩阵
一、题目二、示例三、代码while True: try: N = int(input()) for i in range(1, N + 1): for j in range(1, N - i + 2): if j == N - i + 1: print((i + j - 2) * (i + j - 1) // 2 + j) else原创 2022-02-21 11:14:17 · 156 阅读 · 0 评论 -
《华为机试》刷题之HJ36 字符串加密
一、题目二、示例三、代码letterlist = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']while True: try: key = input() word = input()原创 2022-03-10 08:51:35 · 539 阅读 · 0 评论 -
《华为机试》刷题之HJ37 统计每个月兔子的总数
《华为机试》刷题之统计每个月兔子的总数 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目:有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?本题有多组数据。输入描述: 输入int型表示month输出描述: 输出兔子总数int型示例:示例 1 :输入:9返回值:34代码1:while True:原创 2021-04-24 13:04:33 · 216 阅读 · 0 评论 -
《华为机试》刷题之 HJ38 求小球落地5次后所经历的路程和第5次反弹的高度
一、题目二、示例三、代码while True: try: n = float(input()) result = 0.000000 high = 0.000000 result += n for i in range(4): n = round(n / 2, 6) result += 2 * n print(result,'\n', n/2)原创 2022-03-02 15:04:48 · 147 阅读 · 0 评论 -
《华为机试》刷题之HJ39 判断两个IP是否属于同一子网
一、题目描述IP地址是由4个0-255之间的整数构成的,用"."符号相连。二进制的IP地址格式有32位,例如:10000011,01101011,00000011,00011000;每八位用十进制表示就是131.107.3.24子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,由1和0组成,且1和0分别连续,其中网络号部分全为“1”和主机号部分全为“0”。你可以简单的认为子网掩码是一串连续的1和一串连续的0拼接而成的32位二进制数,原创 2022-03-21 20:39:16 · 841 阅读 · 0 评论