鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 347

[复制链接]
发表于 2020-3-10 13:41:18 | 显示全部楼层
zltzlt 发表于 2020-3-10 13:11
输入以下数据超时:
def f347b(a,b):
    def serch(i,b):
        star = 0
        end = len(b) - 1
        index = (end - star) // 2
        while(index != star):
            if i == b[index]:
                return 0
            elif i > b[index]:
                star = index
            else:
                end = index
            index = star + (end - star) // 2
        return min(abs(i-b[star]), abs(i-b[end]))
    
    if len(a) == len(b) == 1:
        return(abs(a[0] - b[0]))
    b.sort()
    result = abs(a[0]-b[0])
    for i in a:
        if i >= b[-1]:
            dif = abs(i - b[-1])
        elif i <= b[0]:
            dif = abs(i - b[0])
        else:
            dif = serch(i,b)
        if dif == 0:
            return 0
        elif result > dif:
            result = dif
    return result
搞错了循环条件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 14:16:14 | 显示全部楼层
class Solution:
    def smallestDifference(self, a: List[int], b: List[int]) -> int:
        a.sort()
        b.sort()
        smallest=float('inf')
        j=0
        for i in range(len(a)):
            last=float('-inf')
            A=a[i]
            for j in range(j,len(b)):
                if A<(B:=b[j]):
                    smallest=min(smallest,A-last,B-A)
                    break
                else:
                    last=B
            else:
                smallest=min(smallest,A-B)
        return smallest
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 23:56:41 | 显示全部楼层
zltzlt 发表于 2020-3-10 13:15
你是没有理解题目意思吧

版主您老人家看看
a =[1,3,15,11,2]
b =[23,127,235,19,8]
list1 =[]
dict1 ={}
for op in a:
    for cp in b:
        if op > cp:
            
            list1.append(op-cp)
            dict1[op-cp] = op ,cp
        else:
            list1.append(cp-op)
            dict1[cp-op] = cp ,op
list1.sort()
print (list1[0],dict1[list1[0]])
现在这个对不对题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 16:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表