力扣题:高精度运算-1.3

力扣题-1.3

[力扣刷题攻略] Re:从零开始的力扣刷题生活

力扣题1:43. 字符串相乘

解题思想:类似计算时采用的竖式乘法。首先取得num2的低位,并补齐对应的0,然后与num1进行相乘,然后进行字符串的相加操作。

在这里插入图片描述

class Solution(object):def multiply(self, num1, num2):""":type num1: str:type num2: str:rtype: str"""## 如果其中有个为0,则相乘后得0if num1 == "0" or num2 == "0":return "0"## 定义ans作为最后的返回值ans = "0"m = len(num1)n = len(num2)## 从低位开始遍历num2,用一位与num1进行乘法for i in range(n-1,-1,-1):add = 0y = int(num2[i])curr = ['0']*(n-1-i)## 与num1进行乘法操作for j in range(m-1,-1,-1):x = int(num1[j])temp = x*y+addcurr.append(str(temp%10))add = temp // 10if add > 0:curr.append(str(add))## 因为是通过append添加的最后需要进行翻转curr = "".join(curr[::-1])## 字符串的加法操作ans = self.addStrings(ans,curr)return ansdef addStrings(self, num1, num2):## 进行字符串的加法操作,从低位开始相加i, j = len(num1) - 1, len(num2) - 1add = 0ans = list()while i >= 0 or j >= 0 or add != 0:x = int(num1[i]) if i >= 0 else 0y = int(num2[j]) if j >= 0 else 0result = x + y + addans.append(str(result % 10))add = result // 10i -= 1j -= 1## 最后需要进行翻转return "".join(ans[::-1])
class Solution {
public:string multiply(string num1, string num2) {if (num1 == "0" || num2 == "0") {return "0";}string ans = "0";int m = num1.length();int n = num2.length();for (int i = n - 1; i >= 0; i--) {int add = 0;int y = num2[i] - '0';string curr(n - 1 - i, '0');for (int j = m - 1; j >= 0; j--) {int x = num1[j] - '0';int temp = x * y + add;curr.push_back(temp % 10 + '0');add = temp / 10;}if (add > 0) {curr.push_back(add + '0');}reverse(curr.begin(), curr.end());ans = addStrings(ans, curr);}return ans;}string addStrings(string num1, string num2) {int i = num1.length() - 1;int j = num2.length() - 1;int add = 0;string result;while (i >= 0 || j >= 0 || add != 0) {int x = (i >= 0) ? num1[i] - '0' : 0;int y = (j >= 0) ? num2[j] - '0' : 0;int sum = x + y + add;result.push_back(sum % 10 + '0');add = sum / 10;i--;j--;}reverse(result.begin(), result.end());return result;}
};

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

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

相关文章

腾讯云com域名注册1元条件说明

腾讯云com域名注册优惠价格1元首年,条件是企业新用户,个人新用户注册com域名是33元首年,第二年续费价格85元一年。活动 txybk.com/go/domain-sales 活动打开如下图: 腾讯云com域名注册优惠价格 腾讯云com域名注册原价是85元一年&a…

【初识微服务Cloud-预习】

如果你是公司的一名技术负责人或者技术架构,当公司需要进行技术选型,整个微服务的架构搭建,你会怎么办? 1.Spring cloud NetFlix 一站式解决方案! api网关,zuul 组件Feign — Httpclinet ---- Http通信方式&#xff0…

pytest框架测试用例实现输出log到指定文件

要使用pytest框架将测试用例的输出日志重定向到指定文件,你可以使用Python的内置日志模块和pytest的插件功能。以下是一个简单的示例,展示如何将测试用例的输出日志记录到指定的文件中: 首先,确保你已经安装了pytest。你可以使用以…

搜索docker镜像

要查看Docker镜像库&#xff0c;可以使用docker search命令。 docker search <关键词>例如&#xff0c;如果你想要查找名为nginx的镜像&#xff0c;可以执行以下命令&#xff1a; docker search nginx命令执行后&#xff0c;将会列出所有与关键词nginx相关的Docker镜像…

数据结构—图(下)

文章目录 12.图(下)(4).生成树和最小生成树#1.什么是生成树和最小生成树&#xff1f;i.生成树ii.最小生成树 #2.Prim算法i.算法思想ii.看看例子iii.代码实现 #3.Kruskal算法i.算法思想ii.看看例子iii.代码实现 #4.次小生成树 (5).最短路径问题#1.加权有向图的最短路径问题#2.单…

【QML COOK】- 002-添加一个图片

1. 编辑main.qml import QtQuickWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")Image {anchors.fill: parentsource: "qrc:/Resources/Images/arrow.png"} }将Window的width和height都改成800&#xff0c;因为我们要添加的图片大…

SpringBoot 静态资源映射

文章目录 一、静态资源映射1.1 什么是静态资源映射1.2 常见的静态资源映射方式 二、SpringBooot默认配置2.1 resources 目录2.2 SpringBoot 默认配置 三、SpringBoot手动配置3.1 配置属性3.2 自定义配置类 参考资料 一、静态资源映射 1.1 什么是静态资源映射 资源映射指的是将…

客服系统即时通讯Nginx配置支持WebSocket

如果遇到搭建好客服系统后&#xff0c;发消息不能即时通知推送&#xff0c;那就是webscoket部分没有配置正确 在反向代理的配置块里 增加以下两句 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";proxy_set_header Upgrade $http…

jenkins设置Jenkinsfile的pipeline脚本 nohup运行

问题 默认情况下&#xff0c;jenkins pipiline 会kill 掉衍生后台的子进程&#xff0c;比如nohup 命令等。 解决 设置环境变量即可。withEnv([‘JENKINS_NODE_COOKIEdontKillMe’]) stage(上传到阿里云OSS) {steps{script {withEnv([JENKINS_NODE_COOKIEdontKillMe]){sh so…

x-cmd pkg | you-get - web 媒体内容下载工具

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 You-Get 是一个开源的命令行小型下载工具&#xff0c;用于从各种网站下载视频、音频和其他媒体文件。 它可以解析和下载嵌套在网页中的媒体&#xff0c;能从 YouTube、优酷、Niconico 、bilibili 等热门网站下载视频、…

用RASP五步轻松保护云端无服务器架构

近年来无服务器架构发展势头正猛&#xff0c;预计未来十年将增长近25%。据称&#xff0c;2022年无服务器架构市场的规模超过了90亿美元&#xff0c;年复合增长率预计将增加。到2032年&#xff0c;市场规模可能超过900亿美元。 这表明&#xff0c;在组织日益采用DevOps的影响下&…

Python从入门到网络爬虫(日期和时间详解)

Python 日期和时间 Python 程序能用很多方式处理日期和时间&#xff0c;转换日期格式是一个常见的功能。 Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。 时间间隔是以秒为单位的浮点小数。 每个时间戳都以自从1970年1月1日午夜&#xff08;历元&…

Nvidia Jetson AGX Orin使用CAN与底盘通信(ROS C++ 驱动)

文章目录 一、Nvidia Jetson AGX Orin使用CAN通信1.1 CAN使能配置修改GPIO口功能1.2 can收发测试 二、通过CAN协议编写CAN的SocketCan ROS1驱动程序2.1 通讯协议2.2 接收数据节点2.3 发送数据节点2.4 功能包配置 三、ROS2驱动程序 一、Nvidia Jetson AGX Orin使用CAN通信 参考…

Avalonia学习点征集

你对什么内容感兴趣&#xff1f; 你需要集成哪些功能控件&#xff1f; 你需要研究哪些第三方库&#xff1f; 你需要实现什么功能&#xff1f; 我自己写的自己感兴趣的&#xff0c;没有体系。 我自己写太单薄&#xff0c;无法及时更新最新的。 向大家征集学习点。也希望大…

OCS2 入门教程(四)- 机器人示例

系列文章目录 前言 OCS2 包含多个机器人示例。我们在此简要讨论每个示例的主要特点。 System State Dim. Input Dim. Constrained Caching Double Integrator 2 1 No No Cartpole 4 1 Yes No Ballbot 10 3 No No Quadrotor 12 4 No No Mobile Manipul…

问答:攻击面发现及管理

Q1: 长亭云图极速版&#xff08;Cloud Atlas&#xff09;是什么&#xff1f; A1: 它是长亭科技推出的一款攻击面管理运营平台&#xff0c;目的是将企业的网络安全从被动防御转变为主动出击&#xff0c;提前于攻击者采取措施。 Q2: 长亭云图极速版的主要功能包括哪些&#xff…

vue中的防抖和节流

在Vue中&#xff0c;防抖和节流是两种常用的优化技术&#xff0c;用于限制事件的触发频率&#xff0c;以提高页面性能。 防抖&#xff08;Debounce&#xff09;是指在事件被触发后&#xff0c;等待一段时间后再执行回调函数。如果在这段等待时间内&#xff0c;事件又被触发&am…

逻辑回归(Logistic Regression)

什么是机器学习 逻辑回归&#xff08;Logistic Regression&#xff09;虽然名字中包含"回归"一词&#xff0c;但实际上是一种用于解决分类问题的统计学习方法&#xff0c;而不是回归问题。它是一种线性模型&#xff0c;常用于二分类问题&#xff0c;也可以扩展到多分…

【亲测】申请腾讯云免费服务器流程,2024新版教程

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM&#xff0c;轻量配置可选2核2G3M、2核8G7M和4核8G12M&#xff0c;CVM云服务器可选2核2G3M和2核4G3M配置&#xff0c;腾讯云百科txybk.com分享2024年最新腾讯云免费服务器…

vue3 修饰符大全(近万字长文)

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、事件修饰符&#xff08;Event Modifiers&#xff09;1、.stop&#xff08;阻止事件冒泡&#xff09;2、.prevent&#xff08;阻止事件的默认行为&#xff09;3、.capture&#xff08;使用事件捕获模式…