GESP Python 7级 2025.03
下列哪个选项是python中的关键字?
function
class
method
objec
下面程序的时间复杂度是
def func(n):
for i in range(n):
for j in range(i, n):
print(i, j)
n
n*log(n)
n的平方
n的立方
以下代码输出的是什么
class A:
def __init__(self):
self.x = 1
class B(A):
def __init__(self):
super().__init__()
self.y = 2
b = B()
print(b.x, b.y)
1 2
报错
None 2
1 None
pow(10, log10(100))的值是
10
100
1000
10000
exp(log(2))的值是
1
2
3
10
给定一个无向图,图的节点编号从 0 到 n-1,图的边以邻接表的形式给出。编写的一个python程序,使用深度优先搜索(DFS)遍历该图,并输出遍历的节点顺序。
下面程序中横线处应该填写的是
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(start, end=" ")
for neighbor in graph[start]:
if neighbor not in visited:
________________
graph = {
0: [1, 2],
1: [0, 3, 4],
2: [0, 5],
3: [1],
4: [1, 5],
5: [2, 4]
}
print("DFS 遍历顺序:")
dfs(graph, 0)
dfs(graph, neighbor, visited)
dfs(graph+1, neighbor, visited)
dfs(graph, neighbor)
dfs(graph+1, visited)
[10, 9, 2, 5, 3, 7, 101, 18],最长的严格上升子序列是
[2, 3, 7, 101],长度为 4
[2, 5, 7, 101],长度为 5
[2, 5, 7, 101],长度为 3
[2, 5, 7, 18],长度为 6
给定一个整数数组 nums,找到其中最长的严格上升子序列的长度。
子序列 是指从原数组中删除一些元素(或不删除)后,剩余元素保持原有顺序的序列。
要求:
子序列必须是严格上升的(即每个元素都比前一个元素大)。
返回最长严格上升子序列的长度。
横线处应该填写的是()
def length_of_lis(nums):
if not nums:
return 0
dp = [1] * len(nums)
for i in range(1, len(nums)):
for j in range(i):
if nums[j] < nums[i]:
________________
return max(dp)
dp[i] = max(dp[i], dp[j])
dp[i] = max(dp[i], dp[j] + 1)
dp[i] = max(dp[i]+1, dp[j] + 1)
dp[i] = max(dp[i]+1, dp[j])
以下代码的时间复杂度是多少?
def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)
n
n的平方
2的n次幂
log(n)
以下代码的时间复杂度是多少?
def fib(n, memo={}):
if n <= 1:
return n
if n not in memo:
memo[n] = fib(n - 1, memo) + fib(n - 2, memo)
return memo[n]
n
n的平方
2的n次幂
log(n)
