关注
第二题: def method(train_data, test_data, n, m, k):
train_data.sort()
test_data = zip(test_data, range(m))
test_data.sort(key=lambda x: x[0])
test_data, test_index = zip(*test_data)
result = []
train_left = 0
train_right = k - 1
for i in range(m):
d_left = train_data[train_left] - test_data[i]
if train_right + 1 < n:
d_right = train_data[train_right + 1] - test_data[i]
while (abs(d_right) < abs(d_left)) or \
(abs(d_right) == abs(d_left) and train_data[train_right + 1] == train_data[train_left]):
train_left += 1
train_right += 1
if train_right + 1 >= n:
break
d_left = train_data[train_left] - test_data[i]
d_right = train_data[train_right + 1] - test_data[i]
result.append([train_data[train_left], train_data[train_right]])
result = zip(result, test_index)
result.sort(key=lambda x: x[1])
result, test_index = zip(*result)
for r in result:
r = map(str, r)
print(" ".join(r))
[n, m, k] = [6, 3, 2]
train_data = [1, 50, 3, 4, 100, 2]
test_data = [75, 3, 30]
method(train_data, test_data, n, m, k)
查看原帖
点赞 1
相关推荐
2025-12-09 19:14
华中农业大学 产品经理 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
7224次浏览 105人参与
# 机械人避雷的岗位/公司 #
42093次浏览 280人参与
# 程序员找工作至少要刷多少题? #
13238次浏览 203人参与
# 12306一秒售罄,你抢到回家的票了吗? #
1256次浏览 39人参与
# 我现在比当时_,你想录用我吗 #
5971次浏览 89人参与
# 过年最难忘的一件事 #
23079次浏览 174人参与
# 你最满意的offer薪资是哪家公司? #
69525次浏览 349人参与
# 为了减少AI幻觉,你注入过哪些设定? #
2752次浏览 97人参与
# 牛客AI体验站 #
4919次浏览 152人参与
# AI Coding的使用心得 #
3586次浏览 91人参与
# 找工作的破防时刻 #
253215次浏览 1962人参与
# 刚入职的你踩过哪些坑 #
5458次浏览 113人参与
# 论秋招对个人心气的改变 #
7459次浏览 132人参与
# 一张图晒一下你的AI员工 #
3696次浏览 82人参与
# 关于春招/暑期实习,你想知道哪些信息? #
5504次浏览 98人参与
# 黄金这个事上,你学到了什么 #
1325次浏览 41人参与
# 机械人你知道哪些单休企业 #
85527次浏览 428人参与
# 程序员能干到多少岁? #
6915次浏览 104人参与
# 晒晒你司的新年福利 #
5645次浏览 89人参与
# 关于提前批我想问 #
267558次浏览 2307人参与
凡岛公司福利 674人发布