42 lines
1.6 KiB
JSON
42 lines
1.6 KiB
JSON
|
|
{
|
||
|
|
"topic": "example-topic",
|
||
|
|
"type": "code_reading",
|
||
|
|
"schema_version": "1.0.0",
|
||
|
|
"generated": "2026-01-01T00:00:00Z",
|
||
|
|
"questions": [
|
||
|
|
{
|
||
|
|
"id": "dom-sub-top-cr-001",
|
||
|
|
"type": "code_reading",
|
||
|
|
"difficulty": 4,
|
||
|
|
"tags": ["example", "template", "javascript"],
|
||
|
|
"question": "阅读以下 JavaScript 代码,回答子问题。",
|
||
|
|
"code": "function fibonacci(n) {\n if (n <= 1) return n;\n let a = 0, b = 1;\n for (let i = 2; i <= n; i++) {\n [a, b] = [b, a + b];\n }\n return b;\n}\n\nconsole.log(fibonacci(6));",
|
||
|
|
"language": "javascript",
|
||
|
|
"sub_questions": [
|
||
|
|
{
|
||
|
|
"index": 1,
|
||
|
|
"type": "short_answer",
|
||
|
|
"question": "这段代码的输出是什么?",
|
||
|
|
"answer": "8",
|
||
|
|
"explanation": "fibonacci(6) 的计算过程:f(0)=0, f(1)=1, f(2)=1, f(3)=2, f(4)=3, f(5)=5, f(6)=8。最终输出 8。"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"index": 2,
|
||
|
|
"type": "single_choice",
|
||
|
|
"question": "该算法的时间复杂度是什么?",
|
||
|
|
"options": {
|
||
|
|
"A": "O(1)",
|
||
|
|
"B": "O(n)",
|
||
|
|
"C": "O(n^2)",
|
||
|
|
"D": "O(2^n)"
|
||
|
|
},
|
||
|
|
"answer": "B",
|
||
|
|
"explanation": "该实现使用迭代方式,for 循环执行 n-1 次,每次操作是常数时间,因此时间复杂度为 O(n)。"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"explanation": "这段代码实现了斐波那契数列的迭代求解。与递归实现相比,迭代版本避免了重复计算,时间复杂度从 O(2^n) 降低到 O(n),空间复杂度为 O(1)。",
|
||
|
|
"source": null,
|
||
|
|
"related": []
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|