我有以下场景:
我想找到两个城市之间的航班:A和B.没有从A到B的直飞航班; 所以,我需要找到成本最低的转机航班.
此外,机票不固定.这取决于我购买它的时间; 例如,如果我早买它,价格会更便宜.
而且,时间也影响了飞行; 例如,5月31日上午7点只有一班从C到D的航班.如果飞机在5月31日上午8点从A飞到C,我会错过航班.因此,我将城市表示为图的顶点.如果从A到B的航班有效,则路径AB存在.权重将是机票费.
对我的问题有什么想法或建议吗?
谢谢
以下是从Google地图中捕获的地图.我想计算角度ABC.我有三个点的坐标(纬度/经度).
有什么方法可以解决我的问题吗?
谢谢

我有两个int变量如下:
int minutes = 20;
int hours = 8;
Run Code Online (Sandbox Code Playgroud)
我如何将它们转换为"HHMM"形式?
对于上述情况,结果应为"0820".
我有双向飞行的搜索结果。因此,有两个列表包含出发航班和到达航班,例如:
所以,我将在出发航班和到达航班之间有 600(20*30)个组合。我将称组合列表为结果列表
但是,我只想从 600 个组合中选择一个限制。例如,我会选择最好的 100 个航班组合。组合航班的标准是出发和到达航班的便宜价格。
为此,我将按出发和到达航班的总价对结果列表进行排序。然后我从结果列表中选取前 100 个元素来得到我想要的。
但是,如果出发航班列表有 200 个航班,到达航班列表有 300 个航班,我将得到包含 60.000 个元素的结果列表。出于这个原因,我将对一个包含 60.000 个元素的列表进行排序,以找到最好的 100 个元素。
因此,有任何算法可以根据我的情况选择最佳组合。
非常感谢。
algorithm ×2
combinations ×1
geometry ×1
google-maps ×1
graph ×1
java ×1
math ×1
optimization ×1
sorting ×1