python求帮忙看看哪里有问题。。球球了!
几道题感觉思路没问题但是怎么都过不去,求大佬看看哪里有问题
用的快排,提示超时
import sys def quickSort(arr, k): if len(arr) < k: return arr tmp = arr[-1] left = [x for x in arr[:-1] if x <= tmp] nleft = len(left) if nleft == k-1: return tmp elif nleft > k-1: return quickSort(left, k) else: right = [x for x in arr[:-1] if x > tmp] return quickSort(right, k-(nleft+1)) n = int(input()) for _ in range(n): n, k = list(map(int, sys.stdin.readline().strip().split())) x = list(map(int, sys.stdin.readline().strip().split())) ans = quickSort(x, k) print(str(ans))
不平行的直线
求多少个不重复的斜率,case通过0
import sys n = int(input()) data = [] for _ in range(n): x, y = list(map(int, sys.stdin.readline().strip().split())) data.append([x,y]) line = [] for i in range(n): for j in range(i+1, n): x1, y1 = data[i] x2, y2 = data[j] if x1 == x2: k = 999 else: k = (y2-y1)/(x2-x1) line.append(k) ans = len(set(line)) print(str(ans))
提示超时
import sys n = int(input()) data = [0]*100001 for _ in range(n): x, k = sys.stdin.readline().strip().split() x = int(x) if k == '.': data[x] += 1 elif k == '+': data[:x] = list(map(lambda x: x+1, data[:x])) elif k == '-': data[x+1:] = list(map(lambda x: x+1, data[x+1:])) print(str(max(data)))