628. Maximum Product of Three Numbers-- Python

本文介绍了一种高效算法,用于从整数数组中找出三个数的最大乘积。通过排序和巧妙比较,确保能快速得到结果,适用于长度为3到10^4的数组。

628. Maximum Product of Three Numbers

Given an integer array, find three numbers whose product is maximum and output the maximum product.

Example 1:

Input: [1,2,3]
Output: 6

Example 2:

Input: [1,2,3,4]
Output: 24

Note:

  • The length of the given array will be in range [3,104] and all elements are in the range [-1000, 1000].

  • Multiplication of any three numbers in the input won’t exceed the range of 32-bit signed integer.

思路:
首先将列表排序,但是因为列表中的元素有正有负且个数不确定,所以排序后最后三个数相乘不一定是最大的,就需要比较,若有负数在,要考虑最小的负数绝对值最大的问题。

代码:

class Solution:
    def maximumProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        nums.sort()
        return max(nums[-1] * nums[-2] * nums[-3], nums[0] * nums[1] * nums[-1])
### spring.datasource.maximum-pool-size=100的配置作用 `spring.datasource.maximum-pool-size=100` 用于设置数据源连接池允许的最大连接数为100。这一配置可以限制应用程序与数据库之间建立的连接数量,防止因创建过多的数据库连接而耗尽数据库服务器和应用服务器的资源,有助于确保数据库和应用程序的性能和稳定性 [^2]。 ### 使用场景 - **高并发场景**:在应用程序面临大量并发请求时,需要处理多个用户同时访问数据库的情况。例如电商平台的促销活动期间,大量用户同时下单、查询商品信息等操作会产生高并发的数据库访问需求。此时,合理设置最大连接数可以保证应用程序能够及时响应请求,避免因连接数不足导致请求等待或超时 [^2]。 - **资源控制场景**:当数据库服务器的资源有限时,需要对应用程序使用的数据库连接数进行严格控制。例如,在共享的数据库服务器环境中,多个应用程序共享同一台数据库服务器的资源。通过设置最大连接数,可以避免某个应用程序过度占用数据库连接资源,影响其他应用程序的正常运行 [^2]。 ### 与spring.datasource.hikari.maximum-pool-size=100的区别 `spring.datasource.maximum-pool-size=100` 是一个通用的数据源配置,它可以应用于任何支持该配置的数据源连接池。而 `spring.datasource.hikari.maximum-pool-size=100` 是专门针对 HikariCP 数据源连接池的配置。在 Spring Boot 2 版本中,默认使用 HikariCP 作为数据源连接池。如果使用 `spring.datasource.maximum-pool-size=100` ,Spring Boot 会尝试将该配置应用到默认的数据源连接池(即 HikariCP),但这种方式不够明确和具体。而使用 `spring.datasource.hikari.maximum-pool-size=100` 可以明确指定是对 HikariCP 连接池的最大连接数进行配置,避免因配置的歧义导致的问题 [^2][^3]。 以下是在 `application.properties` 文件中使用 `spring.datasource.hikari.maximum-pool-size=100` 配置的示例: ```properties spring.datasource.hikari.maximum-pool-size=100 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值