笔试题:

简介: 笔试题:
'''1.⼩⽩去附近店铺买橘⼦,⽬前商店做活动,提供捆绑打包销售,例如每袋3个和每
袋5个的形式出售。现⼩⽩只想购买n个橘⼦,同时想购买尽量少的袋数⽅便携带。如
果不能购买恰好n个橘⼦,就不会购买(可返回-1),求解输出最少的袋数。(例如:
18)
'''

# def getnum(n):
#     '''
#     解题思路:
#     5的k倍     返回K
#     5的k倍+3   返回K+1
#     否则不购买  返回-1
#     :param n:
#     :return:
#     '''
#     n = int(n)
#     if n%5 == 0:
#         return n//5
#     if n%5 == 3:
#         return n//5+1
#     return -1
# if __name__ == '__main__':
#     for i in range(20):
#         print(f'买{i}个橘子,最少袋数为{getnum(i)}')



'''
第二题:
⼩红去超时买玩具,⼝袋怀揣了n张钱,买了⼀个价值m的玩具。钱的⾯额可以
是1元、5元、10元、50元,⽽⼩红拥有的钱中有的⾯额可能没有,问,付钱的时
候,会有多少种可能的付费组合⽅式?
输⼊:输⼊两个数n(多少张钱),m(玩具的价格)
输出:请输出可能的组合⽅式数;
'''

# def outthings(n,m):
#     '''
#     n为张数,m为价格
#     满足两个等式,即可
#     :param n:
#     :param m:
#     :return:
#     '''
#     for a in range(m//1+1):
#         for b in range(m // 5 + 1):
#             for c in range(m // 10 + 1):
#                 for d in range(m // 50 + 1):
#                     if (a+b+c+d) == n and (a*1+b*5+c*10+d*50) == m:
#                         print(f'{a}张1,{b}张5,{c}张10,{d}扎根50')
#
# if __name__ == '__main__':
#     outthings(10,100)


'''
3.我们公司⽻⽑球队开始招新了,计划招收x⼈,每个⼈根据⽔平划分⾃⼰的级别
档位1~8级别
现计划按⼀下要求分成2个队伍(1队、2队)
1)1队的成员级别之和⼤于2对成员级别之和
2)1队的任意⼀名队员,如果分配他去到2队,1队的成员级别之和就会严格⼩于2对
成员级别之和
3)每个队员必须要加⼊⼀个队伍
现在有多少⽅案可以完成上⾯分配
例如招收4⼈,⽔平级别分别:5 4 7 6 有⼏种分队⽅案
'''
# def fun(arr,arr1,arr2):
#     '''
#     这个考虑到4个for循环太麻烦了,决定用递归
#     递归把列表分为两组,
#     然后等分完以后进行判断,需要满足两个条件
#         1.1队的数据和  大于  2队的数据和
#         2.1队减去最小值  小于 2队加上1队的最小值
#
#     :param arr:
#     :param arr1:
#     :param arr2:
#     :return:
#     '''
#     if arr:
#         for i in range(1,3):
#             if i == 1:
#                 fun(arr[1:], arr1+[arr[0]], arr2)
#             else:
#                 fun(arr[1:], arr1, arr2 + [arr[0]])
#     else:
#         if sum(arr1) > sum(arr2) and (sum(arr1) - min(arr1)) < (sum(arr2) + min(arr1)):
#             print(arr,arr1,arr2)
#
# arr = [5,4,7,6]
# arr1,arr2 =[],[]
# fun(arr,arr1,arr2)


'''
4.
系统设计题
1)请分析题⽬需求,给出你认为合理的技术⽅案,技术⽅案格式可参考原公司;
2)请充分通过题⽬展现你的设计⽅法,设计理念。对于关键的技术选型,给出适当注
解;
需求描述:设计⼀个服务,任何⼈调⽤这个服务,都返回⼀个unique id,不能重复;
'''
'''
解:不会
'''
# class People():
#     def __init__(self,ID):
#         self.ID = ID
相关文章
|
网络协议 Java 调度
笔试题总结
32位机器上,以下结构的sizeof(P)为 struct A { int a; char b; int c; char d; } struct P { struct A w[2]; short b; struct A* p; } /*考察结构体对齐和填充: 结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如果不是,编译器会自动在成员间填充。
972 0
|
Java
笔试题解答
/** * @author shishusheng * @date 2018/8/22 23:35 */ import java.util.
864 0
|
算法 机器学习/深度学习 BI
|
机器学习/深度学习 搜索推荐 索引