E3536.两个数字的最大乘积
implementation, https://leetcode.cn/problems/maximum-product-of-two-digits/
给定一个正整数 n。
返回 任意两位数字 相乘所得的 最大 乘积。
注意:如果某个数字在 n 中出现多次,你可以多次使用该数字。
示例 1:
输入: n = 31
输出: 3
解释:
n的数字是[3, 1]。- 任意两位数字相乘的结果为:
3 * 1 = 3。 - 最大乘积为 3。
示例 2:
输入: n = 22
输出: 4
解释:
n的数字是[2, 2]。- 任意两位数字相乘的结果为:
2 * 2 = 4。 - 最大乘积为 4。
示例 3:
输入: n = 124
输出: 8
解释:
n的数字是[1, 2, 4]。- 任意两位数字相乘的结果为:
1 * 2 = 2,1 * 4 = 4,2 * 4 = 8。 - 最大乘积为 8。
提示:
10 <= n <= 10^9
python
from typing import List
class Solution:
def maxProduct(self, n: int) -> int:
n_lis = list(str(n))
ans = - float("inf")
for i in range(len(n_lis) - 1):
for j in range(len(n_lis)):
if i == j:
continue
ans = max(ans, int(n_lis[i]) * int(n_lis[j]))
return ans
if __name__ == "__main__":
sol = Solution()
print(sol.maxProduct(453))