选择题难度不大,虽然该不会的就是不会#小米##小米笔试##小米信息集散地#结束后放代码和题解t1 依次遍历每一项的距离,维护一个最小距离和结果,如果小于当前则更新,等于则取平均数 83%的情况,有可能是最后四舍五入的问题?我刚开始好像也遇到了这个问题,但是是elif里面写了个bug,并且需要注意需要将整数转正float类型freq = int(input())split = input().strip().split(',')mx = 10**9res = 0for s in split: f, l = list(map(float, s.split(':'))) if abs(freq - f) mx = abs(freq - f) res = l elif abs(freq - f) == mx: res = (res + l) / 2print(round(res, 1))t2 将任务按 执行结束后的剩余电量、起始电量 进行排序,然后计算 MX = 4800 task = [] least = 0 for s in input().strip().split(','): task.append(list(map(int, s.split(':')))) least += task[-1][0] task.sort(key=lambda x:(-max(x[1] - x[0], 0), x[1])) now = res = least for cost, start in task: d = max(cost, start) - now if d > 0: res += d now += d now -= cost print(res if res <= MX else -1)