滴滴9.4算法笔试
桃子装箱(AC)
''' 题目描述: 小昱家的桃园丰收了!小昱采摘下来n个桃子,并对这些桃子称重,其中第i个桃子的重量为ai。 小昱想选择一些桃子装成一箱后送给朋友,但是小昱不希望一箱桃子中有一些太大的桃子而影响整体美观。 于是他给装箱工人提出了一个要求:一箱桃子中最重的桃子重量不能超过平均重量的k倍。装箱工人想知道在满足小昱要求的情况下,一箱最多能装多少个桃子。 输入描述 第一行输入两个正整数 n, k,表示桃子个数、倍数系数。 接下来一行输入n个正整数a1, a2,...... an,其中ai表示第 i 个桃子的重量。 1 ≤ n, k ≤ 100000, 1≤ ai ≤ 109 输出描述 输出一个整数,表示一箱最多能装桃子数量。 样例输入 5 2 3 10 5 4 2 样例输出 4 '''
n, k = map(int, input().strip().split()) nums = list(map(int, input().strip().split())) # print(nums) nums.sort(reverse=True) path = [] weight = 0 ans = 0 for i in range(n): path.append(nums[i]) weight += nums[i] while len(path)>0 and path[0]>(k*weight/len(path)): temp = path.pop(0) weight -= temp ans = max(ans, len(path)) print(ans)老张美术课(超时只能过64%)
''' 题目描述: 老张教授开了一堂美数课! 老张认为每个非负整数x都有一个美丽值b(x)。 一个非负整数的美丽值定义为这个数十进制下每个数位的异或和。即,对于123来说,美丽值为1^2^3=0,对于654815424美丽值为6^5^4^8^1^5^4^2^4=9 (在C/C++中^运算符表示异或) 现在老张想考考同学,对于[L,R]这个闭区间内的所有整数,美丽值恰好为t的数有多少个。 输入描述 第一行一个正整数,表示有次询问。 接下来有三行: 第一行个非负整数 L1,L2,...,Li,...,LT(1≤i≤T) 第二行个非负整数 R1,R2,...,Ri,...,RT(1≤i≤T) 第三行个非负整数 t1,t2,...,ti,...,tT(1≤i≤T) 每个询问是对于 [Li, Ri] (Li≤Ri)这个闭区间内的所有整数,美丽值恰好为的数有多少个。 输出描述 每个询问输出T个整数,每两个数之间用空格隔开,表示答案。 样例输入 2 0 1 0 10 0 1 样例输出 1 2 '''
n = int(input()) num1 = list(map(int, input().strip().split())) num2 = list(map(int, input().strip().split())) num3 = list(map(int, input().strip().split())) def b(x): x=str(x) res = 0 for s in x: res = res^int(s) return int(res) res = [0] * n for i in range(n): cont = 0 for num in range(num1[i], num2[i]+1): if b(num) == num3[i]: cont += 1 res[i] = cont res = list(map(str, res)) print(' '.join(res))