本题是枚举切分位置。设 seq 长度为 n,切点 k 表示左段取前 k 个字符、右段取后面 n−k 个,k 只能取 1,2,…,n−1,保证两段非空。
对每个 k:
给定一串只由数字构成的字符串 seq。现在要放上恰好一个乘号,把它拆成左右两段(两段都不能空),各自视为十进制整数。请找出一种拆法,使两段乘积尽可能大,并返回该最大值。
前导 0 按通常十进制取值,例如 05 读成 5。
请实现:
maxSplitProduct(seq: str) -> int
一行字符串,用双引号包裹。引号内只含数字字符。
约束:
一个整数:所有合法拆法中,左右两段十进制值乘积的最大值。
输入:
"2222"
输出:
484
说明:
输入:
"4051"
输出:
2040
说明:
输入:
"10"
输出:
0
说明:只有一种拆法 1×0,乘积为 0。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册