字符串专题——字符串相乘

news2024/11/16 19:43:02

1、题目解析

2、算法解析

1、解法一

使用模拟的方法:模拟小学的列竖式运算

细节1:高位相乘的时候要补上“0”

细节2:处理前导“0”

细节3:注意计算结果的顺序

2、解法二

对比解法一做优化->无进位相乘然后相加,最后处理进位。

3、代码编写

class Solution {
public:
    string multiply(string num1, string num2)
    {
        //翻转字符串便于计算
        reverse(num1.begin(), num1.end());
        reverse(num2.begin(), num2.end());
        int n = num1.size();
        int m = num2.size();
        vector<int> tmp(n+m-1, 0);
        //无进位相加
        for(int i = 0; i < n;i++)
        {
            for(int j = 0; j < m; j++)
            {
                tmp[i+j] += (num1[i] - '0') * (num2[j] - '0');
            }
        }
        //处理进位
        int cur = 0, t = 0;
        string ret;
        while(cur < n + m -1 || t != 0)
        {
            if(cur < n + m -1) t += tmp[cur++];
            ret += t % 10 + '0';
            t = t/10;
        }
        //处理前导零
        while(ret.size() > 1 && ret.back() == '0')
        {
            ret.pop_back();
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2052998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Huawei Matebook e 2022 安装 archlinux 双系统

本文同步发布于我的网站 安装之前 wifi 名称修改为英文数字的&#xff0c;以防之后没法联网 准备好 U 盘并使用 GPT 分区表写入最新的 arch 镜像。 基础安装 开机按 F2 进入 UEFI/BIOS 设置&#xff0c;将 Secure Boot&#xff08;安全启动&#xff09;关闭&#xff0c;按…

AI学习记录 - transformers 的 linear 词映射层的详细分析, CrossEntropyLoss 函数解析

创作不易&#xff0c;有用的话点个赞。。。。。。 1. 假设条件 词汇表&#xff1a;假设词汇表包含四个词汇&#xff1a;[token_0, token_1, token_2, token_3]。 模型的输出概率分布&#xff1a;模型的输出经过 Softmax 转换后&#xff0c;得到概率分布&#xff1a;[0.1,0.5,…

JavaScript - Api学习 Day1(WebApi、操作DOM对象)

应用编程接口 (API) 是编程语言中提供的结构&#xff0c;允许开发者更轻松地创建复杂的功能。、 webapi 是一套 操作网页内容(DOM) 与 浏览器窗口(BOM) 的对象Js由ECMAScript、DOM、BOM三个部分组成。 文章目录 零、前言0.1 变量声明 壹、WebAPI的认识1.1 作用1.2 什么是DOM1…

【AI大模型】解锁AI智能:从注意力机制到Transformer,再到BERT与GPT的较量

文章目录 前言一、揭秘注意力机制&#xff1a;AI的焦点如何塑造智能1.什么是注意力机制&#xff1f;2.为什么需要注意力机制&#xff1f; 二、变革先锋&#xff1a;Transformer的突破与影响力1.什么是Transformer&#xff1f;2.为什么Transformer如此重要&#xff1f; 三、路径…

《给所有人的生成式 AI 课》学习笔记(一)

前言 本文是吴恩达&#xff08;Andrew Ng&#xff09;的视频课程《Generative AI for Everyone》&#xff08;给所有人的生成式 AI 课&#xff09;的学习笔记。由于原课程为全英文视频课程&#xff08;时长约 3 个小时&#xff09;&#xff0c;且国内访问较慢&#xff0c;阅读…

零基础转行学网络安全怎么样?

在当今数字化飞速发展的时代&#xff0c;网络安全已成为备受瞩目的领域。那么&#xff0c;对于零基础的人来说&#xff0c;转行学习网络安全究竟怎么样呢? 网络安全行业正处于蓬勃发展的阶段。随着互联网的普及和信息技术的不断进步&#xff0c;网络安全问题日益凸显。政企单位…

本地私有化部署PDF处理神器Stirling PDF并实现无公网IP远程在线访问

文章目录 前言1. 安装Docker2. 本地安装部署StirlingPDF3. Stirling-PDF功能介绍4. 安装cpolar内网穿透5. 固定Stirling-PDF公网地址 前言 本篇文章我们将在Linux上使用Docker在本地部署一个开源的PDF工具——Stirling PDF&#xff0c;并且结合cpolar的内网穿透实现公网随时随…

文心一言 VS 讯飞星火 VS chatgpt (328)-- 算法导论22.5 4题

四、证明&#xff1a;对于任意有向图 G G G来说&#xff0c; ( ( G T ) S C C ) T G S C C ((G^T)^{SCC})^TG^{SCC} ((GT)SCC)TGSCC。也就是说&#xff0c;转置图 G T G^T GT的分量图的转置与图 G G G的分量图相同。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1…

葡萄叶片病虫害数据集。葡萄数据集。葡萄病虫害数据集。

葡萄叶片病虫害数据集。葡萄数据集。葡萄病虫害数据集。 数据集有两种规格&#xff0c;请仔细阅读下面信息以免拍错 [1]规格一&#xff1a;适用于分类任务的数据集&#xff0c;标准的ImageNet数据集格式。注意不是txt格式的更不是xml格式的。数据集已经按照train、val划分好&am…

上海亚商投顾:沪指窄幅震荡 华为海思、猴痘概念股集体爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 市场全天窄幅震荡&#xff0c;三大指数涨跌不一。华为海思概念股持续爆发&#xff0c;世纪鼎利、天邑股份、汇…

ProGrad:Prompt-aligned Gradient for Prompt Tuning

文章汇总 存在的问题 问题1 如图(a),(b)&#xff1a;CoOp随着训练的继续&#xff0c;泛化能力可能会下降&#xff0c;甚至低于zero-shot基线。 如图©,(d)&#xff1a;在shot比较小的情况&#xff0c;即数据量比较少的情况(1-shot,2-shot)&#xff0c;CoOp的性能可能还不…

和鲸携手山东大学数字人文实验室,推动新文科与人工智能融合发展

为深入推进产教融合与校企合作&#xff0c;推动人工智能在人文学科中的广泛应用与深入发展&#xff0c;8 月 15 日&#xff0c;山东大学数字人文实验室与和鲸科技 101 计划推进会暨新文科人工智能实验室标杆案例打造讨论会于威海顺利召开。山东大学数字人文实验室副主任陈建红、…

基于Docker部署最新版本Jenkins

一、创建jenkins挂载路径 mkdir /var/jenkins_home chmod 777 /var/jenkins_home二、运行Jenkins最新lts镜像 docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home --restartalways jenkins/jenkins:latest将/var/jenkins_ho…

若依小程序使用及遇到的问题

1、首先去官网拉取小程序代码&#xff0c;从HBuildx运行到小程序 这个时候项目起来了&#xff0c;但是小程序发生了报错&#xff1b; 解决方法 在 project.config.json 新增指定 app.json 路径 ★一定要有 unpackage文件夹 如果没有的需要到HBuilder X 编译一下&#xff0c;编…

一文说清楚数据集成中的流处理与批处理的区别

流数据处理和批数据处理之间的区别主要在于数据的处理方式、时间性、架构设计和适用场景。虽然批处理系统和流处理系统都可以处理数据&#xff0c;但它们处理数据的方式和目的不同&#xff0c;以我们来对“流数据处理”和“批数据处理”进行差异分析。 1. 流数据处理 vs. 批数…

MySQL索引的性能优化

1.数据库服务器的优化步骤 在数据库调优中&#xff0c;我们的目标就是响应时间更快&#xff0c;吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候&#xff0c;该如何思考呢&#xf…

常见的排序算法汇总(详解篇)

目录 排序的概念以及运用 排序的概念 1. 插入排序 1.1 直接插入排序 1.1.1 基本思想 1.1.2 代码实现 直接插入排序的特征总结&#xff1a; 1.1.3 希尔排序&#xff08;缩小增量排序&#xff09;&#x1f680; 1.1.4基本思想&#x1f680; 1.1.5 代码实现&#x1f680; …

Redis 集群三主三从配置

1&#xff1a;安装 Redis安装Linux ubuntu_ubuntu离线安装redis7.2.5-CSDN博客 2&#xff1a;主从复制配置 参考 Redis主从同步配置-CSDN博客 3&#xff1a;哨兵配置 参考 Redis 哨兵模式配置-CSDN博客 4&#xff1a;集群配置 Redis 集群三主三从配置-CSDN博客 5&…

JavaScript初级——对象和函数

一、对象的简介 1、JS中的数据类型 —— String 字符串 —— Number 数值 —— Boolean 布尔值 —— Null 空值 —— Undefined 未定义 ——以上五种类型属于基本数据类型&#xff0c;以后我们看到的值只要不是上面这五种&#xff0c;则为对象 —— Object 对象 2…

仓颉编程语言-001-第一个入门程序helloworld

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境 三、使用cjc方式开发三、使用cjpm方式 一、概述 本文档是针对仓颉编程语言编写的第一个入门程序&#xff0c;通过两种方式&#xff0c;第一种方式是cjc&#xff0c;第二种方式是cjpm。关于cjc和cjpm的使用&#xff0c;请参…