【问题标题】:Match two Calendar lists in Scala在 Scala 中匹配两个日历列表
【发布时间】:2016-06-06 23:50:50
【问题描述】:

我从 Scala 开始,目前我正在尝试编写一个算法来接收两个带有日历时间的列表,并且它必须选择匹配时间。

例如,第一个列表具有以下值(为简单起见,我只放时间):

[12:00、12:50、13:40、14:30、15:20、16:10、17:00、17:50、18:40]

第二个列表具有以下值:

[13:20、13:40、14:30、15:20、16:10、16:30]

我想得到一个包含以下值的列表:

[13:40、14:30、15:20、16:10]

该值表示每 50 分钟的间隔匹配第一个和第二个列表。

我可以使用迭代方法来解决这个问题。我只需要遍历这两个列表,看看这些值是否符合我的需要,但它不会很实用,我正在尝试编写好的 Scala 代码。但是,我想不出从功能上解决这个问题的想法。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: list scala functional-programming


    【解决方案1】:

    List 上使用intersect 函数。它计算列表的多集交集。两个列表中存在的所有元素都将添加到结果列表中。

    val list1 = List("12:00", "12:50", "13:40", "14:30", "15:20",
                     "16:10", "17:00", "17:50", "18:40")
    
    val list2 = List("13:20", "13:40", "14:30", "15:20", "16:10", "16:30")
    
    val matched = list1.intersect(list2) // Gives List(13:40, 14:30, 15:20, 16:10)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2015-10-01
      相关资源
      最近更新 更多