• 每日力扣628


    给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积

    错解:

    class Solution:
        def maximumProduct(self, nums: List[int]) -> int:
            max1=max2=max3=float('-inf')#定义正数为负无穷,保证所有的证书都比它大
            min1=min2=float('inf')#定义负数为正无穷,保证所有的负数都比它小
            for i in nums:
                if i>max1:#当i比最大的数还大
                    max3=max2#原老二变成老三
                    max2=max1#原老大变成老二
                    max1=i#该数变成老大
                elif i>max2:#当i仅仅大于老二
                    max3=max2#原老二变成老三
                    max2=i#该数变成老二
                elif i>max3:#当i仅仅大于老三
                    max3=i#该数变成老三,前者的位置不动
            for j in nums:
                if i<min1:#当i比最小的数还小
                    min2=min1#原最小的数变成了第二小
                    min1=i
                elif i<min2:#当i小于第二小的数
                    min2=i#i变成第二小
            return max(max1*max2*max3,min1*min2*max1)
    
            

    正解:

    原来错在第二个循环的j写成i了

    class Solution:
        def maximumProduct(self, nums: List[int]) -> int:
            max1=max2=max3=float('-inf')#定义正数为负无穷,保证所有的证书都比它大
            min1=min2=float('inf')#定义负数为正无穷,保证所有的负数都比它小
            for i in nums:
                if i>max1:#当i比最大的数还大
                    max3=max2#原老二变成老三
                    max2=max1#原老大变成老二
                    max1=i#该数变成老大
                elif i>max2:#当i仅仅大于老二
                    max3=max2#原老二变成老三
                    max2=i#该数变成老二
                elif i>max3:#当i仅仅大于老三
                    max3=i#该数变成老三,前者的位置不动
            for j in nums:
                if j<min1:#当i比最小的数还小
                    min2=min1#原最小的数变成了第二小
                    min1=j
                elif j<min2:#当i小于第二小的数
                    min2=j#i变成第二小
            return max(max1*max2*max3,min1*min2*max1)
  • 相关阅读:
    使用iwebshop開發實現QQ第三方登錄
    實現QQ第三方登錄
    實現一個天氣預報折現圖功能
    yii框架製作簡易RBAC權限管理
    yii框架RBAC權限管理
    如何利用swoole搭建一個簡易聊天室
    oracle 常用语句
    博客侧边栏
    Oracle 函数使用记录
    myeclipse 导入项目时no projects are found to import解决办法
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14443540.html
Copyright © 2020-2023  润新知