为了账号安全,请及时绑定邮箱和手机立即绑定

LeetCode “Paint House” 问题:尽管 O(N) 解决方案超出了时间限制?

LeetCode “Paint House” 问题:尽管 O(N) 解决方案超出了时间限制?

侃侃无极 2021-06-18 17:08:45
我正在尝试解决LeetCode 上的Paint House问题。这是我尝试的解决方案:import mathclass Solution(object):    def minCost(self, costs):        """        :type costs: List[List[int]]        :rtype: int        """        if not costs:            return 0        if len(costs) == 1:            return min(costs[0])        return min(costs[0][color] + self.minCost(            [exclude(costs[1], color), *costs[2:]])            for color in range(3))def exclude(arr, color):    new_arr = arr.copy()    new_arr[color] = math.inf    return new_arr基本上,在每所房子中,它都会考虑为该房子选择每种颜色的成本,并排除下一房子的选择(通过将成本设置为无穷大)。我相信这应该是线性时间,因为递归调用是在costs到达数组末尾之前进行的。我错了吗?该解决方案是否具有正确的时间复杂度,但只是比 LeetCode 施加的时间限制慢一点?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号