Enjoy Coding
无从属知识
编译程序 是一种翻译程序
翻译程序:将某种语言编写的程序转换成另一种语言形式的程序。如编译程序和汇编程序等。
汇编程序:把汇编语言书写的程序翻译成与之等价的机器语言程序。
题库
大整数相乘
有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。
拼多多2018年校招内推编程题
1 2 3 4 5 6 7 while True : try : lst = list (input ().split()) a, b = eval (lst[0 ]), eval (lst[1 ]) print (str (a * b)) except : break
合并表记录
题目详情
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 while True : try : dic = {} n = int (input ()) for i in range (n): idx, val = list (map (int , input ().split())) if idx not in dic: dic[idx] = val else : dic[idx] = dic[idx] + val dic = sorted (dic.items(), key=lambda x:x[0 ]) for key, val in dic: print (key, val) except : break
计算字符个数
题目详情
1 2 3 4 5 6 7 while True : try : lst = [s.lower() for s in input ()] stri = input () print (lst.count(stri)) except : break
进制转换
题目详情
1 2 3 4 5 6 while True : try : n = input () print (int (n, 16 )) except : break
句子逆序
题目详情
1 2 3 4 5 6 7 8 while True : try : s = input () lst = s.split(" " ) lst = lst[::-1 ] print (" " .join(lst)) except : break
六一儿童节
六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目。老师的目标是将巧克力分发给孩子们,使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。
第一行:n,表示h数组元素个数
第二行:n个h数组元素
第三行:m,表示w数组元素个数
第四行:m个w数组元素
拼多多2018年校招内推编程题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 while True : try : n = int (input ()) hlst = list (map (int , input ().split())) m = int (input ()) wlst = list (map (int , input ().split())) hlst.sort(revesrse=True ) wlst.sort(reverse=True ) count = 0 dot = 0 for j in range (m): for i in range (dot, n): if wlst[j] >= hlst[i]: count += 1 dot = i break if dot == n or dot == m: break if count > n: print (n) else : print (count) except : break
参考
迷宫寻路
假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始位置,3-迷宫的出口,大写字母-门,小写字母-对应大写字母所代表的门的钥匙
迷宫的地图,用二维矩阵表示。第一行是表示矩阵的行数和列数M和N
后面的M行是矩阵的数据,每一行对应与矩阵的一行(中间没有空格)。M和N都不超过100, 门不超过10扇。
拼多多2018年校招内推编程题
明明的随机数
题目详情
1 2 3 4 5 6 7 8 9 10 while True : try : n = int (input ()) nums = [] for i in range (n): nums.append(int (input ())) for j in sorted (set (nums)): print (j) except : break
求int型正整数在内存中存储时1的个数
题目详情
1 2 3 4 5 6 while True : try : bin_n = bin (int (input ())) print (str (bin_n).count('1' )) except : break
取近似值
题目详情
1 2 3 4 5 6 7 8 9 10 while True : try : n = float (input ()) a, b = list (map (int , str (n).split("." ))) if b >= 5 : print (a+1 ) else : print (a) except : break
数字颠倒
题目详情
1 2 3 4 5 6 while True : try : n = input ()[::-1 ] print (n) except : break
提取不重复的整数
题目详情
1 2 3 4 5 6 7 8 9 while True : try : out = "" for s in input ()[::-1 ]: if s not in out: out += s print (out) except : break
质数/素数
1 2 3 4 5 6 7 8 9 n = 20 [i for i in range (2 , n) if 0 not in [i%j for j in range (2 , int (i**0.5 ) + 1 )]] [i for i in range (2 , n) if 0 not in [i%j for j in range (2 , int (math.sqrt(i)) + 1 )]]
字符串反转
题目详情
1 2 3 4 5 6 while True : try : s = input () print (s[::-1 ]) except : break
字符串分隔
题目详情
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def decomp (string ): if string != "" and len (string) <= 8 : print (string + "0" * (8 - len (string))) else : print (string[:8 ]) string = string[8 :] decomp(string) while True : try : i = 0 while i < 2 : ss = input () decomp(ss) i += 1 except : break
字符串最后一个单词的长度
题目详情
1 2 3 4 5 6 while True : try : s = input ().split()[-1 ] print (len (s)) except : break
字符的连接最长路径查找
题目详情
1 2 3 4 5 6 7 8 9 10 11 while True : try : n = int (input ()) lst = [] for i in range (n): lst.append(input ()) lst.sort() for i in range (n): print (lst[i]) except : break
最大乘积
给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)
输入共2行,第一行包括一个整数n,表示数组长度
第二行为n个以空格隔开的整数,分别为A1,A2, … ,An
拼多多2018年校招内推编程题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 while True : try : n = int (input ()) lst = list (map (int , input ().split())) lst.sort() print (max (lst[0 ]*lst[1 ]*lst[-1 ], lst[-3 ]*lst[-2 ]*lst[-1 ])) except : break while True : try : n = int (input ()) lst = list (map (int , input ().split())) lst.sort() if lst[0 ]*lst[1 ]*lst[-1 ] < lst[-1 ]*lst[-2 ]*lst[-3 ]: print (lst[-1 ]*lst[-2 ]*lst[-3 ]) else : print (lst[0 ]*lst[1 ]*lst[-1 ]) except : break
题目详情
题目详情
参考资料
Thank you for your approval.
打赏
支付宝
微信支付
WeChat Bezahlung