0x01
解题思路
使用贪心的策略,我们将首先将器材数组从小到大排序,然后一次判断每种器材能不能使用即可,如果发现钱不够了我们取出循环输出结果即可。
n, s = list(map(int, input().split()))
nums = list(map(int, input().split()))
nums.sort()
res = 0
for i in nums:
if s > i:
s -= i
res += 1
else:
break
print(res)
0x02
解题思路
我们只需要判断字符串的前缀和后缀重复的最大长度是多少即可。例如abaaba
,此时aba
就是前缀和后缀最长的重叠部分。
abaaba
abaaba
我们只要以此作为重叠部分,然后将这些字符串堆叠起来即可。由于数据量较小,我们可以直接暴力枚举。
n, k = list(map(int, input().split()))
s = input()
l = 0
for i