gpt4 book ai didi

arrays - 在遍历数组时检查某些 "divider elements"是否有规律地间隔?

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

我无法想出解决此问题必须存在的高效算法:

遍历一个数组,检查作为“标记”的元素。如果我注意到任何标记没有将其余元素划分为相同长度的运行,请设置一个标志。除了最后一次运行,这是剩余部分。

不应设置标志的示例:

*....*....*..*

应该设置标志的例子:

*....*...*...*
*....*....**

直觉告诉我们应该可以很简单地在线完成,并且它可能等同于一些我不知道其通常名称的众所周知的问题。

最佳答案

解决方案:

计算标记之间元素的数量并形成一个列表。比检查这个列表元素是否除了最后一个元素之外都是相同的,并且列表的最后一个元素不为 0。边缘情况:只有一个元素,它可以是 0。

Python代码:

def is_correct(string):
splitted_list = string.split("*")[1:-1] # Split and strip edge elements.
if len(splitted_list) == 1:
return True
if len(splitted_list[-1]) == 0: # Check that last element is 0.
return False
for i in range(1, len(splitted_list)-1): # Check that others are the same.
if len(splitted_list[0]) != len(splitted_list[i]):
return False
return True

# Test
print is_correct("*....*....*..*")
print is_correct("*....*...*...*")
print is_correct("*....*....**")

关于arrays - 在遍历数组时检查某些 "divider elements"是否有规律地间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29732927/

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