Leetcode.43:(Python)给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
说明:
num1
和num2
的长度小于110。num1
和num2
只包含数字0-9
。num1
和num2
均不以零开头,除非是数字 0 本身。- 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。
鄙人真的是好久没有写博客了,惭愧惭愧,培训结束了,一直忙着找工作,拿到的offer不太满意,就自己加强学习,查漏补缺,每天也刷一刷leetcode,兴趣使然。有时候写代码用leetcode提供的接口不太方便,又不愿意去再费周章地去更改自己的代码让其符合leetcode的接口,所以发表在这里。欢迎大家与我交流,指出我的不足。另外我还会在我的博客中写一些经典的面试题,比如url的生命周期。
现在谈谈这题的思路,leetcode中这个题是中等难度,通过率30%多。这道题我觉得就是在考我们乘法的分解,举个例子,比如用户输入了“123”和“45”,我们可以将其分解为 100*45 + 20*45 + 3*45,那么这个题的问题就清晰了,即为两个问题:1、把“”45“变为数字45。2、把”123“ 拆分为100、20、3。
这两个问题很容易用代码解决,相信各位大神可以读懂我这易懂的代码,有瑕疵的话欢迎交流~上代码了
根据题目说明第四条,我一直在考虑最后这个str(b)是不是不可以用str()啊?
class Mul:def __init__(self,n1,n2):self.n1 = n1self.n2 = n2self.nums = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}def str_to_power(self):lst = []for i,j in enumerate(self.n1):j = self.nums[j]x = j * 10 ** (len(self.n1)-1-i)lst.append(x)return lstdef str_to_int(self):m = 0for i,j in enumerate(self.n2):j = self.nums[j]n = mm = j * 10 ** (len(self.n2)-1-i)m = m + nreturn mdef mul(self):o = 0b = 0s = self.str_to_int()l = self.str_to_power()for i in l:z = s * ib = z + oo = breturn str(b)
Leetcode.43:(Python)给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。相关推荐
- Python给定两个有序整数数组nums1和nums2,合并nums1和nums2为数组nums1
给定两个有序整数数组nums1和nums2,合并nums1和nums2为数组nums1, 注意: 数组nums1和nums2初始化元素个数分别为m和n 假设num1有足够空间(长度超过m+n或与其相等 ...
- python给定两个框的坐标,计算IoU以及IoM
给定两个框的坐标,计算IoU以及IoM. 1.计算IoU 交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与 ...
- python为什么用两个等于号_刷Leetcode学python(一)两数之和
本代码来自好友詹神公众号<小詹学python> 原题: Given an array of integers, return indices of the two numbers such ...
- LeetCode(Python)—— 两数之和(简单)
两数之和 概述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标.你可以假设每种输入只会对应一个答案.但是, ...
- C++ ,leetcode 43. 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式
一.思路: 字符串逆序,然后遍历两个逆序后的字符串,然后对应的字符相乘,i+j等于它的位数. string multiply(string num1, string num2) {reverseStr ...
- LeetCode||有效的字母异位词(排列)--给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词
原题链接:https://leetcode-cn.com/problems/valid-anagram 题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示 ...
- 每日一道leetcode(python)844. 比较含退格的字符串
每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...
- leetcode -43 -字符串相乘 -java版
文章目录 题目 代码 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...
- 给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串...
1 /* 2 * 给定两个字符串,确定其中一个字符串的字符重新排列后,能否变成另一个字符串,其实也就是变位词问题 3 * 比如说 a='abc' b='acb'是可以通过a变成b的 4 * 思路; 5 ...
- LeetCode 43. 字符串相乘(大数乘法)
文章目录 1. 题目 2. 小学竖式乘法 2.1 普通版 2.2 优化版 1. 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示 ...
最新文章
- Android TextView设置透明度方法的注意点
- Swift:subscript
- 用C#进行ArcGIS 10 Engine 开发 - 安装配置和入门程序说明
- mysql常用命令orderby_MySQL常用命令总结
- 支付宝 .NET SDK 报错:RSA签名遭遇异常,请检查私钥格式是否正确。
- Springboot2集成minidao持久层
- 数据结构练习题之树和图(附答案与解析)
- 一个转行学习前端的初学者,应该如何计划自己的学习规划?
- 为什么在C语言中,用scanf输入字符串时,不需加
- 使用springboot + druid + mybatisplus完成多数据源配置
- Spark API 之 cogroup 使用
- 负数的补码公式是什么_为什么0xffffffff是-1?(计算机对整型的存储)
- 千兆网卡为什么慢_宽带300M,光猫是千兆的,电脑网卡和无线路由器都是千兆的。但是速度仍是100M。这是为什么?...
- html论坛注册代码,Discuz!论坛代码大全和HTML代码大全 | 穆小刚营销博客
- 全国大学生数学建模比赛介绍及其入门(国赛+美赛)
- NANK南卡降噪耳机和小米蓝牙耳机哪个好?谁更值得入手?
- php barcode_php 生成条形码
- JS验证电话和传真号码格式
- 手机短号(C语言————AC)
- 高性能裸金属服务器应用场景
热门文章
- 解决WPS在Linux下字体缺失
- 作业调度系统--SGE和PBS的使用方法
- 出色性能+创新设计 新华三AMD服务器
- Oracle数据库查询有多少表格,Oracle数据库的表有多大呢?
- 滑雪问题(dfs+dp)
- android 图片释放内存吗,手机内存不足?掌握这几招让手机瞬间释放几个G!
- winedt 破解方法和软件下载
- 冰蝎(Behinder)双击无法打开
- 终于打通了《火焰之纹章——烈火之剑》
- VL02N货物移动报错:消息号M7093 “对于移动类型643和账户XXX业务范围(033)的不同字段选择“