LeetCode 43. Multiply Strings

43. Multiply Strings [Leetcode] [FFT] [python] 查看题目 一道大数相乘的题,大数也可以看成是多项式,再运用FFT来处理。 粗略步骤: 1. 将多项式从系数表示转为点值表示 2. 把两个多项式的点值表示相乘 3. 将相乘后的点值表示转为系数表示 1. 将多项式从系数表示转为点值表示 系数表示: A(x)=a0+a1x+a2x2+⋅⋅⋅+an−1xn−1A(x)=a0+a1x+a2x2+···+an−1xn−1... 阅读详情

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.


Separate the steps of multiple. It is the same as addition.

for example:

"99" * "99"  -> can be stored in a vector as : {8, 17, 10, 1} // the index is the index addition of both strings index.

The only case needs special care is: the result string shouldn’t start with '0'.... and the "0" result case.

#include <iostream>
#include <string>
#include <vector>
using namespace std;

string multiply(string num1, string num2) {
    if(num1.size() == 0) return num2;
    if(num2.size() == 0) return num1;
    int m = num1.size();
    int n = num2.size();
    vector<int> res(m + n, 0);
    for(int i = m - 1; i>= 0; --i) {
        for(int j = n - 1; j >= 0; --j) {
            int tmp = (num1[i] - '0') * (num2[j] - '0');
            res[i + j + 1] += tmp % 10;
            res[i + j] += tmp / 10;
        }
    }
    for(int i = m + n - 1; i >= 1; --i) {
        res[i-1] += res[i] / 10;
        res[i] = res[i] % 10;
    }
    string result = "";
    int i = 0;
    while(i < m + n && res[i] == 0) {
        i++;
    }
    while(i < n + m) {
        result = result + to_string(res[i]);
        i++;
    }
    return result.size() == 0 ? "0" : result;  // handle the "0" result case.
}

int main(void) {
    string res = multiply("99", "99");
    cout << res << endl;
}


国密证书实战:在CentOS 7上构建GmSSL私有CA与完整证书链 本文详细介绍了在CentOS 7操作系统上,使用GmSSL工具构建私有国密证书颁发机构(CA)与完整证书链的实战指南。内容涵盖从部署GmSSL、创建国密根CA、签发服务器与客户端证书,到生产环境安全加固与最佳实践的全流程,旨在帮助系统管理员和安全工程师建立统一、可控的内部国密安全通信体系。 阅读详情

相关推荐

EDK2多平台编译实战:从树莓派到RK3399的UEFI固件构建

本文提供了从树莓派到RK3399的EDK2多平台编译实战指南。详细介绍了UEFI固件构建的环境搭建、交叉编译配置、平台描述文件修改及常见问题排查,帮助开发者掌握为不同ARM架构硬件构建标准化启动固件的核心技能。

weixin_29193259的博客 836

LeetCode 刷题记录 43. Multiply Strings

题目: Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. Example 1: Input: num1 = “2”, num2 = “3” Output: “6” Exampl...

dldldl1994的博客 235

Android Audio常见问题分析方法

分析audio dump,确定写给BT的data是否正常,MTK平台Android原生架构分析threadloop write节点,高通平台分析QXDM 1586节点,从dump确定问题大概位置。分析systrace 确定性能。AudioFocus状态(用于播放或者音量异常的情况)。AudioTrack是否正常创建bt连接是否正常通路异常,setMode,setSpeakerphoneOn等都会影响设备选择,sco调用流程是否正常。

一条老狗的博客 2387

LeetCode | # 43. Multiply Strings

43. Multiply Strings Description 描述:https://leetcode.com/problems/multiply-strings/description/ 题意:将字符串表示的两个数相乘计算结果,不可调用大整数包或直接转为整数相乘。 Solution 1: (Java) class Solution { public String multiply(St...

Karmen199x的博客 275

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

参考文档1这个工具可以完美替代华硕奥创中心工具,可以定制化不同模式下的CPU、GPU、风扇转速、电池计划等。是由华硕开发人员开发的一个纯绿色的系统管理工具。直接展示启动后的工具界面效果图:这个工具也可以一键式停止正在运行的华硕ASUS服务,减少不必要的资源消耗。

追梦&天空的博客 1万+

ESP32-S3开发环境避坑指南:VS Code+ESP-IDF离线安装全流程(附国内镜像加速)

本文提供了一份详细的ESP32-S3开发环境离线安装指南,重点解决网络依赖问题。通过整合国内镜像加速,手把手教你完成VS Code、ESP-IDF框架、工具链及Python依赖的本地化部署,实现稳定、可重复的开发环境搭建,大幅提升IoT开发效率。

peach的博客 961

LeetCode 力扣 43. 字符串相乘 multiply-strings

43. 字符串相乘 题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 样例 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。

motongxue的博客 354

PG-FP6编程器错误代码解析与高效排障实战指南

在嵌入式系统开发与量产烧录中,编程器是连接开发环境与目标硬件的重要桥梁。其工作原理是通过特定的通信协议(如UART、SWD)与微控制器(MCU)建立连接,完成程序代码的写入、擦除与校验。这项技术的核心价值在于确保固件能够准确、可靠地部署到硬件中,是产品从原型到量产的关键环节。在实际的工程实践中,尤其是在使用瑞萨(Renesas)PG-FP6这类编程器进行调试或批量生产时,工程师常会遇到各种通信失败、编程验证错误或电源异常等问题,这些问题往往以特定的错误代码形式呈现。深入理解这些错误代码背后的硬件连接、电源时

weixin_34387468的博客 577

LeetCode: 43. Multiply Strings

LeetCode: 43. Multiply Strings

杨领well的专栏 978

DFT ATPG提升coverage的方法

采用更精确的故障模型,如桥接故障模型(用于描述电路中不应连接的节点之间的短路故障)和路径延迟故障模型(考虑信号在电路路径上的传输延迟),可以使ATPG工具生成更有效的测试向量来覆盖这些特殊故障。假设电路中有一个与门的输入引脚存在固定为0的故障(stuck - at - 0),D - 算法会分析与门的其他输入以及与门输出连接的后续电路逻辑,从而确定整个电路的输入值,使得当该故障存在时,电路的输出与无故障时不同。通过增加测试向量的类型,如功能测试向量和结构测试向量的结合,可以提高故障覆盖率。

Loving_enjoy的博客 967

有限元之有限元空间的构造

主要介绍有限元的空间构造方法。

欢迎各位大佬光临“寒舍”!请多多指点,共同进步! 762

Leetcode 43. Multiply Strings (python+cpp)

Leetcode 43. Multiply Strings题目解法: 题目 解法: class Solution: def multiply(self, num1: str, num2: str) -> str: if num1=='0' or num2=='0': return '0' product = [0]*(len(num1)+len(num2)) pos = len(product)-1

qq_37821701的博客 365

《AgentScope-Java 深入浅出教程》第10章 RAG 知识检索

RAG(Retrieval-Augmented Generation,检索增强生成)是一种将信息检索与文本生成相结合的技术架构。它通过从外部知识库中检索相关文档,将检索到的信息作为上下文注入到语言模型的提示中,从而增强模型的回答质量。│ RAG 工作流程 ││ ││ 用户问题 向量检索 上下文增强 生成回答 ││ ▼ ││ │ A │ ││ ││ 1. 接收问题 ││ 2. 将问题转换为向量,在知识库中检索相似文档 ││ 3. 将检索到的文档作为上下文添加到提示词中 │。

步子哥的博客 460

leetcode 43. Multiply Strings

leetcode 43. Multiply Strings 字符串相乘  不简单啊。。。 参考了 String 、StringBuffer、StringBuilder 之间的区别 public class Solution { public static void main(String[] arg){ String a = "999"; String b = "9

独钓寒江雪 416

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LeetCode //C - 43. Multiply Strings

【代码】LeetCode //C - 43. Multiply Strings。

Made in Code 1218

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Leetcode 43 Multiply Strings

Leetcode 43 Multiply Strings 题目描述 Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. Example 1: Input: num1 = "2",...

qq_43271202的博客 245

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Leetcode1-100: 43. Multiply Strings

Leetcode1-100: 43. Multiply Strings问题描述解题思路代码实现分析后记 问题描述 Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. Example 1: Input: num1 = "2", num2 = "3" Output: "6" Example

Y123iwantit的博客 250

Leetcode: 43. Multiply Strings

Leetcode: 43. Multiply Strings 题目难度中等,想到分别遍历num1、num2中的数值,但是具体细节没有理清。参考:https://discuss.leetcode.com/topic/30508/easiest-java-solution-with-graph-explanation?page=1 public...

哎呀妈呀脑壳疼脑壳疼 194

Leetcode 43. Multiply Strings (Medium) (cpp)

Leetcode 43. Multiply Strings (Medium) (cpp)

还是需要多学习!闷声大发财,这是坠吼的! 464

【大数相乘】LeetCode 43. Multiply Strings

LeetCode 43. Multiply Strings Solution1:我的答案 作为一个hard题,提交一次就过真是让我hin开心啊!!! 就是方法有点笨。。 class Solution { public: string multiply(string num1, string num2) { if (num1 == &amp;quot;0&amp;quot; || num2 == &amp;quot;0&amp;quot;...

Allenlzcoder的博客 464

leetcode 43: Multiply Strings

leetcode 43: Multiply Strings PYTHON JAVA C++

西施豆腐渣 1928

Leetcode【43】Multiply Strings

package com.company; import java.util.Arrays; public class multiply { public static void main(String[] args){ multiply test = new multiply(); System.out.println(test.multiply("...

ssjdoudou的博客 7345

LeetCode43——Multiply Strings

LeetCode43——Multiply Strings 题意: 做乘法,两个乘数都是string类型的。 直接string转整型是不行的,因为大数相乘可能溢出。 之前做过类似的大数乘法。其思路就是模拟人自己在草稿上计算乘法的步骤,按位把每一个求出来,注意进位和取模就OK 代码: class Solution { public: string multiply(string num1

上善若水 696

leetcode no43 Multiply Strings

package leetcode.simple; public class no43_MultiplyStrings { public static String multiply(String num1, String num2) { if (num1 == null || num2 == null || num1.length() == 0 || num2.length() == 0) { r...

zwzcdcll的博客 172

【Leetcode】43. Multiply Strings

对每个数字从个位数向高位遍历,然后利用卷积累加答案对应位置的数,最后处理进位,返回结果时先去掉前导零,然后记得翻转一下。以字符串形式给出两个不含前导零的非负整数。求它们的乘积,以字符串形式返回。

数学、算法爱好者的博客 200

LeetCode(43)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.分析计算两个字符串表示的非负大整数的乘积,结果仍然用字符串表示。我们都熟悉笔算的整数乘积

指尖飞舞 4487
上一篇: LeetCode 2. Add Two Numbers
下一篇: LeetCode 58. Length of Last Word
ActiveCoder
博客等级 码龄11年 4粉丝 345原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值