gpt4 book ai didi

arrays - 带开关元件的最长子阵列

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

如果奇数元素和偶数元素相等,则数组称为“切换”。

例子:

[2,4,2,4] 是一个交换数组,因为偶数位置(索引 0 和 2)和奇数位置(索引 1 和 3)的成员相等。

如果A = [3,7,3,7, 2, 1, 2],切换子数组为:

== > [3,7,3,7][2,1,2]

因此,最长的切换子数组是 [3,7,3,7]length = 4。

再举一个例子,如果A = [1,5,6,0,1,0],唯一的切换子数组是[0,1,0] .

又如:A= [7,-5,-5,-5,7,-1,7],切换子数组为[7,-1, 7][-5,-5,-5]

问题:

编写一个函数,接收一个数组并找到其最长的切换子数组。

我想知道你是如何解决这个问题的,你使用了哪些策略来解决这个时间复杂度很高的问题?

最佳答案

我假设数组是零索引的。

if arr.size <= 2
return arr.size
else
ans = 2
temp_ans = 2 // We will update ans when temp_ans > ans;
for i = 2; i < arr.size ; ++i
if arr[i] = arr[i-2]
temp_ans = temp_ans + 1;
else
temp_ans = 2;
ans = max(temp_ans , ans);
return ans;

我认为这应该可行,我认为它不需要任何解释。
Example Code

关于arrays - 带开关元件的最长子阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58357037/

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