小黑代码1:暴力转换
class Solution:
def multiply(self, num1: str, num2: str) -> str:
num1 = int(num1)
num2 = int(num2)
return str(num1 * num2)
小黑代码2:转化为多位数x一位数
class Solution:
def multiply(self, num1: str, num2: str) -> str:
# 定义多位数x一位数的乘法
def mul(mul_num, one_num):
# 字符串长度
n = len(mul_num)
# 进位
i = 1
# 结果
res = 0
for t in range(n-1, -1, -1):
res += (i*(int(one_num)*int(mul_num[t])))
i *= 10
return res
# 开始进行多位数x一位数的乘法
# 进位
i = 1
# 结果
res = 0
n = len(num1)
# 拆解成多位数x一位数
for t in range(n-1, -1, -1):
res += i * mul(num1[t], num2)
i *= 10
return str(res)
乘法运算法则
class Solution:
def multiply(self, num1: str, num2: str) -> str:
if "0" in [num1, num2]:
return "0"
# 字符串长度
n1 = len(num1)
n2 = len(num2)
# 余数数组
arr = [0] * (n1 + n2 - 1)
# 开始进行运算
for i in range(n1-1, -1, -1):
for j in range(n2-1, -1, -1):
arr[n1 + n2 - 2 - (i+j)] += (int(num1[i]) * int(num2[j]))
# 开始处理进位运算
a = 0
for i in range(n1+n2-1):
# 上一位进位
arr[i] += a
# 下一位的进位
a = arr[i] // 10
# 这一位的运算
arr[i] %= 10
# 结果数组
res = []
if a:
res.append(str(a))
for i in range(n1+n2-2, -1, -1):
res.append(str(arr[i]))
return ''.join(res)
小黑生活
煎个牛排吃
本来想跑一个芙蓉折返的,结果岔气了
回来看到了芙蓉发的朋友圈哈哈哈,太巧了
买罐可乐刷c++
早餐紫光园干饭
等候东方时尚班车
第一次到达东方时尚总校区
学习vr课程
骑车到高米店南,吃个棒约翰
跟焦哥吃个饭
去前门逛逛
小跑回家
哑铃到了
来杯霸王
预约个瑜伽
按摩放松一下,吃个汉堡
学习c++
麦当劳早餐
南二环,跑步里程突破12800公里
买杯喜茶,结果发现还没喝就洒了
继续上团课
二级第一首曲子练习《快乐的小天使》
回家涮个肉肉
优衣库试个衣服
晚上跟尚香吃肯德基
初三画龙跑的照片
学习c++数组指针
继续瑜伽
来个板烧鸡腿堡
跟尚香骑车去北大微电子学院
附近吃点儿东西
麦当劳板烧早餐
到达东方时尚,练习科目二,练习曲线+直角转弯+侧方停车
麦当劳午餐
一激动定了三月的行程(长沙+厦门)
鼓浪屿船票
c++学习
连着两节瑜伽课
早餐麦当劳板烧
第二天练车:倒库+坡起
晚上下起了大雪,可惜第二天要考科二
去家门口管氏翅吧喝点儿
早晨出发去驾校
麦当劳早餐
到达东方时尚驾校
中午驾校吃煎饼
准备考科目二,好紧张啊