解决思路
- 将
a转换为字符串:便于逐位操作。 - 遍历
a的每一个可能插入点:包括在字符串的开头和结尾。 - 构建新的字符串:对于每一个插入点,构建新的字符串并将其转换为整数。
- 比较并更新最大结果:记录所有可能结果中的最大值
def solution(a: int, b: int) -> int:
a_str = str(a)
b_str = str(b)
max_result = 0
for i in range(len(a_str) + 1):
new_num = int(a_str[:i] + b_str + a_str[i:])
if new_num > max_result:
max_result = new_num
return max_result
if __name__ == '__main__':
print(solution(76543, 4) == 765443)
print(solution(1, 0) == 10)
print(solution(44, 5) == 544)
print(solution(666, 6) == 6666)
print(solution(15, 13) == 1513)
代码解释
-
转换为字符串:
a_str = str(a) b_str = str(b)- 将
a和b转换为字符串,方便逐位操作。
- 将
-
初始化最大结果:
max_result = 0- 初始化一个变量
max_result用于存储最大结果。
- 初始化一个变量
-
遍历每一个可能的插入点:
for i in range(len(a_str) + 1): # 构建新的字符串 new_num = int(a_str[:i] + b_str + a_str[i:]) # 更新最大结果 if new_num > max_result: max_result = new_num- 使用
for循环遍历a_str的每一个可能插入点,包括在字符串的开头和结尾。 - 对于每一个插入点
i,使用字符串切片和拼接操作a_str[:i] + b_str + a_str[i:]构建新的字符串。 - 将新字符串转换为整数
new_num。 - 比较
new_num和max_result,如果new_num更大,则更新max_result。
- 使用
-
返回最大结果:
return max_result- 返回
max_result作为最终结果。
- 返回