Menu
CoddyTech

图案查找器

本课属于 Coddy GDScript 学习旅程的“基础知识”单元。第 91 课,共 92 课。

challenge icon

挑战

中等

在 _ready() 上方编写函数 find_occurrences。它会:

  1. 接收两个字符串:text 和 pattern
  2. 统计 pattern 在 text 中出现的次数,包括重叠的情况
  3. 返回一个包含三个元素的数组:
    • 如果找到该模式,则返回 true,否则返回 false
    • 出现次数
    • 一个数组,其中包含每次出现的起始位置

例如,如果 text 是 "abababab",且 pattern 是 "aba",函数会返回 [true, 3, [0, 2, 4]],因为 "aba" 从位置 0、2 和 4 开始。

如果没有找到该模式,则返回 [false, 0, []]。

给定的 _ready() 会读取这两个字符串,调用你的函数并输出结果。将 pass 替换为函数体。

亲手试试

extends Node

func find_occurrences(text, pattern):
	# 在这里编写代码
	pass

func _ready():
	var text := OS.read_string_from_stdin()
	var pattern := OS.read_string_from_stdin()
	# 调用函数并打印结果
	var result = find_occurrences(text, pattern)
	print(result)

基础知识中的所有课

自己练习: GDScript 在线编译器