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相关推荐

  1. 边工作边刷题:70天一遍leetcode: day 94-1

    Largest BST Subtree 要点: http://articles.leetcode.com/largest-binary-search-tree-bst-in 这题重点是理解题意,还有道 ...

  2. 边工作边刷题:70天一遍leetcode: day 11-2

    Gas Station 老题,这种circular的题一般都能转化成单向的.比如这题就是用sumDiff来判断是否有解,而start单向递增. class Solution(object):def c ...

  3. 边工作边刷题:70天一遍leetcode: day 92

    House Robber I/II/III 这题代表了单向线性dp的基本pattern: build local best value at each element and track the gl ...

  4. 边工作边刷题:70天一遍leetcode: day 98

    LRU Cache 这是一道leetcode的难题,这种题往往是算法结构很复杂,涉及一个或多个考点算法和数据结构的组合,同时又有很多corner cases要考虑.所以一定要找到合适memorize的 ...

  5. 边工作边刷题:70天一遍leetcode: day 97-2

    Design Hit Counter 要点:因为是second granularity,所以可以用以秒为单位的circular buffer方法.这题简单在只需要count过去300秒的,增加难度可以 ...

  6. 边工作边刷题:70天一遍leetcode: day 73

    Read N Characters Given Read4 I/II 要点:这题的要点就是搞清楚几个变量的内在逻辑:只有buffer是整4 bytes的.而client要读的bytes(需求)和实际上 ...

  7. 边工作边刷题:70天一遍leetcode: day 7

    Max Points on a Line 要点:这题暴力解是用任何两点确定一条直线,然后对其他点检查是否共线,显然,这里没用空间来存储之前的检查结果,所以time complexity是O(n^3). ...

  8. 边工作边刷题:70天一遍leetcode: day 67-1

    Rectangle Area 要点:基本思路就是先分开算再减去相交部分,这题的难点是如何检查是否相交和如何算出相交部分的面积. 2d转化为1d:x轴和y轴是orthogonal的.可以分开考虑.这样检 ...

  9. 边工作边刷题:70天一遍leetcode: day 6

    Compare Version Numbers 题本身思路简单没什么可说的.值得一提的是corner case:多出来的0和没有是相同版本,这样最简单的处理是直接对没有的补0.这样因为需要补齐,循环是 ...

  10. 边工作边刷题:70天一遍leetcode: day 11-1

    Clone Graph dfs或者bfs都可以做,这题的要点是hashmap有两个作用:一是图遍历中的visited,另一个是存copy的结点来连接neighbors.hashmap即表示visite ...

最新文章

  1. 环回测试能够提供什么信息_以太网测试仪
  2. CSS position财产
  3. Linux常用基本命令[cp]
  4. 病毒周报(100308至100314)
  5. 用BlockingQueue实现生产者与消费者问题
  6. Curses 中的 noecho() 函数
  7. L2-005 集合相似度 (25分)
  8. eigen 列向量转矩阵_快速入门矩阵运算——开源库Eigen
  9. win7连接sftp_SFTP远程连接服务器上传下载文件-vs2010项目实例
  10. java中static作用详解(版本二)
  11. StanfordDB class自学笔记 (5) JSON Data
  12. B端和C端产品主要差异:用户、体验、数据
  13. python检索论文_一种基于Python的音乐检索方法的研究
  14. 数据库面试——锁的12连问,赶紧收藏!
  15. 支付宝门店码,全面助力商家快速实现数字化经营
  16. java获取西瓜视频的下载地址
  17. AiMesh/Merlin(梅林)开源固件的DNS使用
  18. CUDA计算能力显卡对照表
  19. 同时在写四门编程语言是怎样一种体验?
  20. 第三十七篇 场效应管模拟开关举例

热门文章

  1. MS SQL入门基础:删除数据
  2. getopt:命令行选项、参数处理
  3. 深度学习相关资料总结
  4. 利用jmap和MAT等工具查看JVM运行时堆内存
  5. 分布式架构 springcloud+redis+springmvc+ springboot
  6. BWA SAM文件格式
  7. MySQL应用异常问题解决
  8. Java并发_volatile实现可见性但不保证原子性
  9. sidhu眼中的CoordinatorLayout.Behavior(二)
  10. java enum(枚举)的使用