本人使用 Python
第一题是个简单的 MySQL
select demand_id, count(id) as `count` from Task group by demand_id having count > 1;第二题直接暴力都能 100%, 有精度要求, 可以使用 decimal.Decimal
from decimal import Decimal nums, k = input().strip().split(':') nums = list(map(int, nums.split(','))) n = len(nums) pre = sum(nums[:k]) result = 0 for i in range(1, n - k): cur = sum(nums[i:i + k]) cur = str((cur - pre) / pre * 100) cur = Decimal(cur).quantize(Decimal("0.01"), rounding="ROUND_HALF_UP") result = max(result, cur) pre = cur print(str(result) + '%')第三题提示了直接贪心就行, 注意初始化的时候要初始化所有值为 1
rains = list(map(int, input().strip()[1:-1].split(','))) m = len(rains) n = max(rains) if not m: print('[]') empty = [True] * (n + 1) result = [-1 if rain else 1 for rain in rains] flag = True available = [] for i in range(m): if rains[i]: if empty[rains[i]]: empty[rains[i]] = False elif available: result[available.pop(0)] = rains[i] else: flag = False break else: available.append(i) if flag: print('[' + ','.join(list(map(str, result))) + ']') else: print('[]')第四题, 可以参考 LeetCode 的按序打印, 不过 Python 可以偷鸡
print(input().strip().upper())
全部评论
(3) 回帖