gpt4 book ai didi

java - 我如何实现一种从头到尾的列表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:39:18 26 4
gpt4 key购买 nike

给定以下输入:(注意:这不是链表,它是我无法控制的网络应用程序输出的所有字符串)

DAVSCAF1WD6-11 ==> MOTENVF1WD6-11 
MOTENVF1WD6-11 ==> WNDVUTF1WD4-11
TPKAKSF1WD6-11 ==> KSCYMOF1WD6-11
WNDVUTF1WD3-11 ==> WGTNUTF1WD2-11
DNVRCOF1WD7-11 ==> BELTKSF1WD3-11
SNFCCAF1WD6-16 ==> DAVSCAF1WD5-16
WGTNUTF1WD2-11 ==> DTSRCOF1WD3-11
DTSRCOF1WD3-11 ==> DNVRCOF1WD6-11
BELTKSF1WD3-11 ==> TPKAKSF1WD6-11

我需要产生以下结果:

SNFCCAF1WD6-16 ==> DAVSCAF1WD5-16 
DAVSCAF1WD6-11 ==> MOTENVF1WD6-11
MOTENVF1WD6-11 ==> WNDVUTF1WD4-11
WNDVUTF1WD3-11 ==> WGTNUTF1WD2-11
WGTNUTF1WD2-11 ==> DTSRCOF1WD3-11
DTSRCOF1WD3-11 ==> DNVRCOF1WD6-11
DNVRCOF1WD7-11 ==> BELTKSF1WD3-11
BELTKSF1WD3-11 ==> TPKAKSF1WD6-11
TPKAKSF1WD6-11 ==> KSCYMOF1WD6-11

这是一个列表,其中每个尾部指向行中下一项的头部(例如 SNFCCAF ==> DAVSCAF ==> DAVSCAF ==> MOTENVF ==> MOTENVF ==> WNDVUTF ==> etc.)在这种情况下只有前导字母字符才有意义。

我怎样才能尽可能优雅地完成这个任务?正在实现的语言是 Java。

最佳答案

如果您不想重复,那么最简单的方法可能是使用 map 。将每个头尾对作为键和值放入。然后你可以使用 Map.get() 遍历列表,将前一个尾部用作下一个头。

另一方面,您会遇到在列表中找到第一项的问题:那将是一个从未出现为尾部的头。为此,我想您可以通过设置方式从 keySet() 中减去 values()。假设您确实有一个链,结果将是包含列表中第一个元素的单例集。

关于java - 我如何实现一种从头到尾的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2230421/

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