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)))


全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务