入学测试题
温馨提示:为检测自身的情况,请认真作答,不要进行上网搜答案
1. 实现冒泡排序
for i in range(len(nums)):for j in range(0, len(nums) - i - 1):if nums[j] > nums[j + 1]:nums[j], nums[j + 1] = nums[j + 1], nums[j]
2. 二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
rows, cols = len(matrix), len(matrix[0])
row, col = 0, cols - 1while row < rows and col >= 0:if matrix[row][col] == num:print(True)elif matrix[row][col] < num:row += 1else:col -= 1
3. 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
def gcd(m, n):while n:m, n = n, m % nreturn mdef lcm(m, n):return m * n // gcd(m, n)def calculate(m, n):return gcd(m, n), lcm(m, n)