获得徽章 6
- #刷题交流#
2. 徒步旅行中的供给问题
from collections import deque
def solution(n: int, k: int, data: list) -> int:
assert n == len(data)
assert k < n
mins = deque()
result = 0
for j in range(n):
while len(mins) > 0 and mins[-1][1] > data[j]:
mins.pop()
mins.append([j, data[j]])
while mins[0][0] <= j - k:
mins.popleft()
result += mins[0][1]
return result
if __name__ == '__main__':
print(solution(n = 5 ,k = 2 ,data = [1, 2, 3, 3, 2]) == 9)
print(solution(n = 6 ,k = 3 ,data = [4, 1, 5, 2, 1, 3]) == 9)
print(solution(n = 4 ,k = 1 ,data = [3, 2, 4, 1]) == 10)展开赞过评论1 - #刷题交流#
1. 找单独的数
int solution(std::vector<int> cards) {
// Edit your code here
int res=0;
for(auto c:cards){
res^=c;
}
return res;
}展开赞过评论1
![[可怜]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_5.ece2a96.png)