团队,在参考了关于stackoverflow的各种帖子之后,我仍然无法确定以下问题的解决方案(这有点不同和复杂)
在寻找解决方案/算法(最好是java)方面的任何帮助都将受到高度赞赏。
问题陈述:
考虑一组n个群,每个群在一维空间中都有一定数量的点。每一点都用它在一条线上的坐标来表示。
编写一个程序,从每组中选择一个点,形成一个新的集合,使新集合中第一个点和最后一个点之间的距离尽可能小。
输入:n组整数。
例如:
[21, 1, 150, 289, -321]
[160, 3, 30]
[170, 22, 6, 7]
output:the newly 形成一组整数。
例如:[1,3,6]
假设:输入可以是标准的内联输入,也可以是一个文件,其中n行表示n个集合。最终,输入是n组协调点/整数。
测试用例:
测试1
测试输入
21, 1, 150, 289, -321
160, 3, 30
170, 22, 6, 7
预期产量:1、3、6
测试2
测试输入
-24, -77, 89, 29, -3
187, -99, 1
预期输出:-3,1
测试3
测试输入
6, 19, 95, 76, 24
79, 53, 2, 9, 16, 91, 73
81, 14, 65
22, 60, 37, 32, 99, 71
预期产量:14、16、19、22
测试4
测试输入
-26 7 89 38 83 -90 87 87 59 66 0 81 -51 -45
-52 23 37 -7 -16 -46 70 21 18 77
-32 77 -47 -15 86 -5 38
64 32 53 78 -90 74 1 51 23 -95 -5 92 10 34 92 -70 37 -8 9 -64
4 74 87 -27 66 6 31 49 11 -59 91 98 59 -60 41 58 48 2 -1 90 23 -89 -45 -37 29 22 -66 -87
86 -69 0 -36 -43 33 -57 -44 21 28 -51 33 27 -56 43 -29 -33 -46 22 30 50 39 100
-55 -40 40 30 89 -45 3 -34 -30 16 33 14 -98 -4 54 28 -14 11
预期产出:37 37 38 39 40 41
1条答案
按热度按时间whitzsjs1#
所以,首先,不要只提供你的任务,让我们给你解决方案。堆栈溢出不是这样工作的。
假设你不知道你需要做什么,我可以给你一个你能做什么的指导方针(我没有尝试自己编写代码,这只是在我的头脑中,我会尝试创建)
(读取输入)
计算出第一组中的最小值并保存该值
做一个循环,从第一组开始,每一组都做一遍
在你的循环中,开始另一个循环,检查你组中的每个点
检查当前点是否等于上面保存的值
如果是,请转到下一组并将您的值添加到列表中
如果不是,则在保存的值中添加1,然后继续下一点
完成两个循环后,打印列表中的值