【问题标题】:maximal length of a beautiful segment美丽片段的最大长度
【发布时间】:2021-12-23 02:03:58
【问题描述】:

序列的最大长度。 有一个长度为 n 的字母 x 和 y 序列,表示为数组 S[1...n],其中每个 S[i] 是 x 或 y。 当 x 的数量等于子数组中 y 的数量时,其中 1

这个序列的美丽片段的最大长度是多少?

在给定序列最大长度的情况下,我假设最大长度为 n 或 n-1,但我们不知道数组 S 中有多少 x 和 y。

【问题讨论】:

  • we do not know how many - 所以你必须遍历数组并计算 x 和 y
  • 我们不知道数组中有多少 x 和 y。这是问题
  • 这是一个很奇怪的问题。要找到最大的美丽片段,您必须扫描序列。
  • 基本上正确,我们正在使用的序列是 (x y y x y y y x y x y y) 长度 12。我们需要这个序列的美丽片段的最大长度。抱歉,我读错了问题

标签: algorithm math sequence


【解决方案1】:

从左到右遍历序列,计算每一步x和y量的差异,并将差异与位置一起放入字典。

如果存在差异,找到长度为current position - dictionary position,并与最大长度进行比较。

对于您的示例对是(粗体是键的第一次出现,存储在字典中)

(0, 0), (1,1), (0,2), (-1,3), ( 0,4), (-1,5), (-2,6), (-3,7), (-2,8), (-3 ,9), (-2,10), (-3,11), (-4,12)

我们可以看到一些长度为 4 的片段

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-03
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 2019-04-21
    • 2017-04-12
    相关资源
    最近更新 更多