当前位置: 首页 > news >正文

[LeetCode]Multiply Strings

Multiply Strings

Given two numbers represented as strings, return multiplication of the numbers as a string.

Note: The numbers can be arbitrarily large and are non-negative.

 

 大数的乘法问题,运用乘法规则就好了。
 1 class Solution {
 2 public:
 3     string multiply(string num1, string num2) {
 4         if(num1=="0" || num2=="0") return "0";
 5         string result;
 6         int len1=num1.length();
 7         int len2=num2.length();
 8         int len=len1+len2;
 9         int* n1=new int[len1];
10         int* n2=new int[len2];
11         int* multi=new int[len];
12         for(int i=0;i<len;i++)
13         {
14             multi[i]=0;
15         }
16         for(int i=0;i<len1;i++)
17         {
18             n1[i]=num1[len1-i-1]-'0';
19         }
20         for(int i=0;i<len2;i++)
21         {
22             n2[i]=num2[len2-i-1]-'0';
23         }
24         for(int i=0;i<len1;i++)
25         {
26             for(int j=0;j<len2;j++)
27             {
28                 multi[i+j]=multi[i+j]+n1[i]*n2[j];
29             }
30         }
31         for (int i=0;i<len;i++)
32         {
33             int tmp=multi[i];
34             multi[i]=tmp%10;
35             multi[i+1]+=tmp/10;
36         }
37         int first_nozero;
38         for(int i=len-1;i>=0;i--)
39         {
40             if(multi[i]!=0)
41             {
42                 first_nozero=i;
43                 break;
44             }
45         }
46         for(int i=first_nozero;i>=0;i--)
47         {
48             result+=char(multi[i]+'0');
49         }
50         delete []n1;
51         delete []n2;
52         delete []multi;
53         
54         return result;
55     }
56 };

 

转载于:https://www.cnblogs.com/Sean-le/p/4734934.html

相关文章:

  • 11g rac配置scan ip
  • jQuery属性,方法操作
  • 深入理解Linux内核-信号
  • 1.1JVM
  • 十进制转二进制
  • Android 工作随记
  • CRB and String
  • CoCoaPods
  • Nova 操作汇总(限 libvirt 虚机) [Nova Operations Summary]
  • Hexo 个人博客搭建
  • 2.4-Apache访问控制
  • Excel文档上传
  • kvm 安装 centos7 文本模式 分辨率 太高修改
  • Android中Activity和Fragment与Fragment和Fragment之前互相传值方法
  • 浅谈sql中的in与not in,exists与not exists的区别
  • 0x05 Python数据分析,Anaconda八斩刀
  • Angular数据绑定机制
  • JavaScript函数式编程(一)
  • Python socket服务器端、客户端传送信息
  • Python3爬取英雄联盟英雄皮肤大图
  • react-native 安卓真机环境搭建
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue组件定义
  • 大快搜索数据爬虫技术实例安装教学篇
  • 电商搜索引擎的架构设计和性能优化
  • 如何使用 JavaScript 解析 URL
  • 什么软件可以剪辑音乐?
  • 微服务框架lagom
  • 微信小程序--------语音识别(前端自己也能玩)
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 源码安装memcached和php memcache扩展
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • No resource identifier found for attribute,RxJava之zip操作符
  • 《天龙八部3D》Unity技术方案揭秘
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • # centos7下FFmpeg环境部署记录
  • # include “ “ 和 # include < >两者的区别
  • #大学#套接字
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Oracle)SQL优化技巧(一):分页查询
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (五)网络优化与超参数选择--九五小庞
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)shell调试方法
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET CLR基本术语
  • .Net FrameWork总结
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)