gpt4 book ai didi

java - 删除 ArrayList 中第一次和最后一次出现之间的重复元素以优化路径

转载 作者:行者123 更新时间:2023-11-30 06:50:23 25 4
gpt4 key购买 nike

这是一个机器人项目。我已经使用 A* 来查找两个坐标之间的路径,但我想进一步优化它,以便机器人的运动更加平滑。到目前为止,我似乎还无法找到满足我需求的解决方案。

我还使用曼哈顿距离,因此坐标具有重复的 x 和 y 值。

搜索完成后,我有一个坐标数组列表,如下所示:

[(0,0),(0,1),(0,2),(0,3),(1,3),(2,3),(3,3)]

我希望该函数做的是返回一个删除了中间元素的 ArrayList,以便在遵循路径时移动会更平滑。

我希望优化后的结果是这样的:

[(0,0),(0,3),(1,3),(3,3)]

我也无法使用 Java 1.8,因为机器人最多只支持 1.7。

最佳答案

我故意不编写 Java 代码:

for each element of the input list
copy it to the output list
if there are at least 3 elements in the output list
if the last 3 elements are collinear
remove the middle one

对于共线性测试,请使用 this question或 TFG。

关于java - 删除 ArrayList 中第一次和最后一次出现之间的重复元素以优化路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com