笔试题:

'''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
View Code

 

posted @ 2021-04-12 12:58    阅读(299)  评论(0编辑  收藏  举报