测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

PROBLEM SET

题库

按难度与知识点筛选,找到适合的练习题。

共 67434 题
重置

题目列表

共 67434 题
A26837 奖品兑换 Python-L5 -- 困难 -- A26838 下面的Python代码实现如果对一维list【形如:[32,12,32,13,42,1],而不是[(1,3),(3,1),(321,321),(32,13)]】进行快速排序,该排序是稳定排序。( )def qSort(arr): if len(arr) <= 1: return arr pivot = arr[len(arr) // 2] left, middle, right = [], []… Python-L5 -- 困难 -- A26839 基于上上题的Python代码。代码片段 left_arr = merge_sort(arr[:mid]) 和 right_arr =merge_sort(arr[mid:]) 因为切片,将产生的新的list,对于大容量list的排序,将需要大量额外存储空间,可以优化为就地(implace)排序。( ) Python-L5 -- 困难 -- A26840 基于上一题的Python代码。上题代码在执行时,将输出一次 HERE 字符串,因为merge_sort()递归调用在print("HERE") 之前,因此merge()函数仅被调用一次。( ) Python-L5 -- 困难 -- A26841 下面的Python代码用于归并排序(merge sort),已测试执行正确。假如整体交换 merge() 和 merge_sort() 两个函数的先后位置,则程序执行将触发异常。( )def merge(left, right): result, i, j = [], 0, 0 while i < len(left) and j < len(right): if left[i] <= right… Python-L5 -- 困难 -- A26842 求解下图中A点到D点最短路径,其中A到B之间的12可以理解为距离。求解这样的问题,常用Dijkstra算法,其思路是通过逐步选择当前距离起点最近的节点来求解非负权重图(如距离不能为负值)单源最短路径的算法。从该算法的描述可以看出,Dijkstra算法是贪心算法。( ) Python-L5 -- 困难 -- A26843 下面Python代码执行后输出是15。( )def func(n): if n <= 0: return 0 n -= 1 return n + func(n) print(func(5)) Python-L5 -- 困难 -- A26844 下面的Python代码用于输出每个数对应的质因数列表,输出形如: {5: [5], 6: [2, 3], 7: [7], 8: [2,2, 2]} 。 ( )n, m = map(int,input().split()) if n > m: n, m = m, n prime_factor = {} #保存每个数的质因数 for i in range(n, m + 1): j, k = 2, i… Python-L5 -- 困难 -- A26845 在下面的Python代码中,for-in每次循环都将执行 n ** 0.5 ,并取整后加上1。( )def is_prime(n): if n <= 1: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True Python-L5 -- 困难 -- A26846 假设函数 gcd() 函数能正确求两个正整数的最大公约数,则下面的 lcm() 函数能求相应两数的最小公倍数。( )def lcm(a, b): return a * b // gcd(a, b) Python-L5 -- 困难 -- A26847 下面Python代码是用欧几里得算法(辗转相除法)求两个大于0的正整数的最大公约数,a大于b还是小于b都适用。( )def gcd(a, b): while b: a, b = b, a % b return a Python-L5 -- 困难 -- A26848 有关下面Python代码的说法,错误的是( )。def sqrt_binary(n, epsilon=1e-10): if n < 0: raise ValueError("输入必须为非负整数") if n == 0 or n == 1: return n # 阶段1: low, high = 1, n k = 0 while low <= high: mid = (low + high) //… Python-L5 -- 困难 -- A26849 下面Python代码用于在升序lst(list类型)中查找目标值target最后一次出现的位置。相关说法,正确的是( )。def binary_search(lst, target): if len(lst) == 0: return None low, high = 0, len(lst)-1 while low < high: mid = (low + high + 1) // 2 # 向上… Python-L5 -- 困难 -- A26850 硬币找零,要求找给客户最少的硬币。第一行输入硬币规格且空格间隔,单位为角,规格假设都小于10角,且一定有1角规格。硬币规格不一定是标准的货币系统,可能出现4角、2角等规格。第二行输入找零金额,约定必须为1角的整数倍。输出为每种规格及其数量,按规格从大到小输出,如果某种规格不必要,则输出为0。下面是其实现代码,相关说法正确的是( )。coins = sorted(list(map(int, inp… Python-L5 -- 困难 -- A26851 下面的代码用于列出求1到N之间的所有质数,错误的说法是( )。def is_prime(N): if N <= 1:return False finish_number = int(N ** 0.5) + 1 for i in range(2, finish_number): if N % i == 0: return False return True #列出1-N之间所有质数 N = int… Python-L5 -- 困难 -- A26852 下面的Python代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。def find_max(nums): if not nums: raise ValueError("输入数组不能为空") max_value = nums[0] for i in nums: if max_value < i: max_value = i return max_value print(find_m… Python-L5 -- 困难 -- A26853 下面的Python代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。def find_max(nums): if not nums: raise ValueError("输入数组不能为空") if len(nums) == 1: return nums[0] mid = len(nums) // 2 return max( find_max(nums[:mid]), find_ma… Python-L5 -- 困难 -- A26854 基于上题的find_max()实现,下面的说法错误的是( )。 Python-L5 -- 困难 -- A26855 下面的Python代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。def find_max(nums): if not nums: raise ValueError("输入数组不能为空") def _find_max(left, right): if left == right: return nums[left] mid = (left + right) // 2 return… Python-L5 -- 困难 -- A26856 基于上题代码正确的前提下,填入相应代码完善append()函数,用于在尾部增加新节点( )。def append(self, data): new_node = self.Node(data) if self.is_empty(): self.head = new_node self.tail = new_node else: —————————————————— ———————————————… Python-L5 -- 困难 --