边工作边刷题:70天一遍leetcode: day 33-3
Multiply Strings
要点:基本公式就是从低位开始(或者string的高index)两层loop:i,j乘积对应的位置是i+j+1(比如0,0,的位置是1,这里0的位置是进位。另外一定要有高位在0的sense)。
错误点:
- j是下位乘数的index,因为有进位,所以j要超出0,要更新j-=1
class Solution(object):def multiply(self, num1, num2):""":type num1: str:type num2: str:rtype: str"""n1 = len(num1)n2 = len(num2)res = [0]*(n1+n2)if num1=="0" or num2=="0": return "0"for i in range(n1-1, -1, -1):# 1. resetcarry = 0for j in range(n2-1, -1, -1):d1 = ord(num1[i])-ord('0')d2 = ord(num2[j])-ord('0')total = d2*d1+carry+res[i+j+1]carry = total/10res[i+j+1] = total%10j-=1if carry!=0:total = res[i+j+1]+carryres[i+j+1]=total%10if res[0]==0: del res[0]resStr = []for i in range(len(res)):resStr.append(str(res[i]))return ''.join(resStr)
转载于:https://www.cnblogs.com/absolute/p/5678185.html
边工作边刷题:70天一遍leetcode: day 33-3相关推荐
- 边工作边刷题:70天一遍leetcode: day 94-1
Largest BST Subtree 要点: http://articles.leetcode.com/largest-binary-search-tree-bst-in 这题重点是理解题意,还有道 ...
- 边工作边刷题:70天一遍leetcode: day 11-2
Gas Station 老题,这种circular的题一般都能转化成单向的.比如这题就是用sumDiff来判断是否有解,而start单向递增. class Solution(object):def c ...
- 边工作边刷题:70天一遍leetcode: day 92
House Robber I/II/III 这题代表了单向线性dp的基本pattern: build local best value at each element and track the gl ...
- 边工作边刷题:70天一遍leetcode: day 98
LRU Cache 这是一道leetcode的难题,这种题往往是算法结构很复杂,涉及一个或多个考点算法和数据结构的组合,同时又有很多corner cases要考虑.所以一定要找到合适memorize的 ...
- 边工作边刷题:70天一遍leetcode: day 97-2
Design Hit Counter 要点:因为是second granularity,所以可以用以秒为单位的circular buffer方法.这题简单在只需要count过去300秒的,增加难度可以 ...
- 边工作边刷题:70天一遍leetcode: day 73
Read N Characters Given Read4 I/II 要点:这题的要点就是搞清楚几个变量的内在逻辑:只有buffer是整4 bytes的.而client要读的bytes(需求)和实际上 ...
- 边工作边刷题:70天一遍leetcode: day 7
Max Points on a Line 要点:这题暴力解是用任何两点确定一条直线,然后对其他点检查是否共线,显然,这里没用空间来存储之前的检查结果,所以time complexity是O(n^3). ...
- 边工作边刷题:70天一遍leetcode: day 67-1
Rectangle Area 要点:基本思路就是先分开算再减去相交部分,这题的难点是如何检查是否相交和如何算出相交部分的面积. 2d转化为1d:x轴和y轴是orthogonal的.可以分开考虑.这样检 ...
- 边工作边刷题:70天一遍leetcode: day 6
Compare Version Numbers 题本身思路简单没什么可说的.值得一提的是corner case:多出来的0和没有是相同版本,这样最简单的处理是直接对没有的补0.这样因为需要补齐,循环是 ...
- 边工作边刷题:70天一遍leetcode: day 11-1
Clone Graph dfs或者bfs都可以做,这题的要点是hashmap有两个作用:一是图遍历中的visited,另一个是存copy的结点来连接neighbors.hashmap即表示visite ...
最新文章
- 环回测试能够提供什么信息_以太网测试仪
- CSS position财产
- Linux常用基本命令[cp]
- 病毒周报(100308至100314)
- 用BlockingQueue实现生产者与消费者问题
- Curses 中的 noecho() 函数
- L2-005 集合相似度 (25分)
- eigen 列向量转矩阵_快速入门矩阵运算——开源库Eigen
- win7连接sftp_SFTP远程连接服务器上传下载文件-vs2010项目实例
- java中static作用详解(版本二)
- StanfordDB class自学笔记 (5) JSON Data
- B端和C端产品主要差异:用户、体验、数据
- python检索论文_一种基于Python的音乐检索方法的研究
- 数据库面试——锁的12连问,赶紧收藏!
- 支付宝门店码,全面助力商家快速实现数字化经营
- java获取西瓜视频的下载地址
- AiMesh/Merlin(梅林)开源固件的DNS使用
- CUDA计算能力显卡对照表
- 同时在写四门编程语言是怎样一种体验?
- 第三十七篇 场效应管模拟开关举例