首页 > 其他分享 >字符串相乘

字符串相乘

时间:2024-08-20 11:22:58浏览次数:6  
标签:num1 num2 int 相乘 result ans 字符串 string

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。

示例 1:

输入: num1 = "2", num2 = "3"
输出: "6"

示例 2:

输入: num1 = "123", num2 = "456"
输出: "56088"

提示:

  • 1 <= num1.length, num2.length <= 200
  • num1 和 num2 只能由数字组成。
  • num1 和 num2 都不包含任何前导零,除了数字0本身。
class Solution {
public:
    string multiply(string num1, string num2) {
        int m = num1.size(), n = num2.size();
        vector<int> ans(m + n);

        for (int i = m - 1; i >= 0; i--) {
            int a = (num1[i] - '0');
            for (int j = n - 1; j >= 0; j--) {
                int b = (num2[j] - '0');
                int mul = a * b;
                ans[i + j + 1] += mul % 10;
                ans[i + j] += mul / 10;
            }
        }

        for (int k = m + n - 1; k > 0; k--) {
            ans[k - 1] += ans[k] / 10;
            ans[k] %= 10;
        }

        string result;
        for (int k = 0; k < m + n; k++) {
            if (result != "" || ans[k] != 0) {
                result += char(ans[k] + '0');
            }
        }

        return result == "" ? "0" : result;
    }
};

标签:num1,num2,int,相乘,result,ans,字符串,string
From: https://blog.csdn.net/weixin_45092290/article/details/141321941

相关文章

  • Oracle数据库必学!超实用的9个字符串处理函数
    Oracle查询语句中的单行函数,特别是一些常用的字符串处理函数。1.ConCAT函数作用:将两个字符串连接在一起,生成一个新的字符串。使用方法:concat(字符串1,字符串2)示例:SELECTconcat('Hello,','World')FROMDUAL;结果为:“Hello,World”。2.CHR与ASCII函数CHR函数......
  • 字符函数与字符串函数详解
    ......
  • 【杂乱笔记】Kmp字符串匹配算法
    KMP算法逻辑构建next数组:初始化next数组,用于存储每个位置的最长相同前后缀长度。遍历模式字符串patt如果当前字符与前缀字符匹配,增加前缀长度,并更新next数组。如果不匹配,使用next[prefix\_len-1]回退到上一个可能的前缀长度,继续比较。字符串匹配:初始......
  • 赎金信(判断一个字符串是都可以通过另一个字符串进行转化)
     这个题目属于简单的类型,使用字典来进行词频统计,如果ransomNote中key的个数大于magazine,或者ransomNote的key在magazine中找不到,就返回False。classSolution:defcanConstruct(self,ransomNote:str,magazine:str)->bool:m_dict={}r_dict={}......
  • Vue——el-option下拉框绑定,value为数字和字符串区别
    Vue——el-option下拉框绑定1、正常使用v-for进行遍历下拉框内容,如果需要增加一个自定义的值,则加一个el-optionel-option用法:参数说明类型可选值默认值value选项的值string/number/object——label选项的标签,若不设置则默认与v......
  • 遇到403 Forbidden ,服务器端查询后结果是http get查询字符串中包含非法字符
    原文链接:https://blog.csdn.net/mm_hello11/article/details/84261672 报错解释:HTTPGET请求通过查询字符串(即URL中"?"后面的部分)传递参数。如果查询字符串包含非法字符,服务器可能会拒绝请求并返回错误,因为这些非法字符可能会破坏URL的格式或者服务器的安全性。非法字符通常......
  • Python向IP地址发送字符串
    在Python中,向IP地址发送字符串通常意味着你需要通过某种协议来实现通信。最常见的协议包括TCP和UDP。这里,我将分别给出使用TCP和UDP协议向指定IP地址发送字符串的示例代码。1.TCP、UDP协议——示例一1.1使用TCP协议TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协......
  • 利用C语言求字符串长度
    在C语言中库函数中已有求字符串长度的函数strlen,我们可以自己编写一个求字符串函数my_strlen求字符串长度注意:strlen函数返回类型是size_t,是无符号整型方法1:创建临时变量#include<stdio.h>intmy_strlen(char*str){   intcount=0;   while(*str!='\0......
  • #1.字符串哈希学习笔记
    “十分简单易懂的字符串哈希教程”字符串哈希0x01.什么是哈希定义(摘自OIwiki)[https://oi-wiki.org/string/hash/]>我们定义一个把字符串映射到整数的函数f,这个f称为是Hash函数。我们希望这个函数f可以方便地帮我们判断两个字符串是否相等。人话:把字符串以特定的......
  • web前端之根据字符串长度从长到短排序、中文字符串优先、样式循环、禁止冒泡、悬浮、
    MENU前言效果图htmlstyleJavaScript前言1、代码段由HTML、CSS(使用Sass语法)和JavaScript组成,创建一个文本框,用户可以在其中输入内容,并通过点击按钮进行操作。2、代码段的主要功能是允许用户输入一系列以、分隔的项,并根据长度对这些项进行排序(中文字符优先),然后......