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

桂林旅游网站制作公司网站服务器地址查询

桂林旅游网站制作公司,网站服务器地址查询,网站模板内容怎么添加图片不显示,做游戏本测评的网站文章目录 Golang 解大整数乘法问题描述:LeetCode 43. 字符串相乘思路Golang 代码 Golang 解大整数乘法 在初学 C 语言的时候,我们一定接触过“字符串相加”或“字符串相乘”之类的问题,对于初学者而言,这类问题的难度一般来说是比…

文章目录

  • Golang 解大整数乘法
    • 问题描述:LeetCode 43. 字符串相乘
      • 思路
      • Golang 代码

Golang 解大整数乘法

在这里插入图片描述

在初学 C 语言的时候,我们一定接触过“字符串相加”或“字符串相乘”之类的问题,对于初学者而言,这类问题的难度一般来说是比较大的(回想起我大一刚刚学习 C 语言时,解决这两道题的过程非常的痛苦)。

今天我们学习如何使用 Golang 来解决大整数乘法问题,即“字符串相乘”问题。

问题描述:LeetCode 43. 字符串相乘

思路

我们将num1视为乘数,num2视为被乘数,字符串相乘的基本思路就是每一次取num2当中的一位数字,与整个num1进行相乘,假定num1的长度是m,而num2的长度是n,那么num2中的n个数就需要与num1进行m * n次相乘。

由于我们进行的是乘法,从num2的最后一位开始与num1进行相乘,当进行到倒数第二位的时候,需要将整个相乘的结果向左移动一位,右侧添加一个0,毕竟在竖式乘法当中就是这样做的。

最后将每一次相乘得到的结果通过“字符串加法”汇总起来,就可以得到最终“字符串乘法”的结果。

总的来说,这道题目的综合性非常的强,既考察了在 Golang 当中如何将字符串与数字进行相互转换,又考察了“字符串乘法”解题模拟的复杂思路。

Golang 代码

func multiply(num1 string, num2 string) string {// 大整数乘法// num1 是乘数, num2 是被乘数if num1 == "0" || num2 == "0" {return "0"}m, n := len(num1), len(num2)ans := ""for i := n - 1; i >= 0; i -- {// 使用被乘数的每一位与乘数相乘, 然后将每一次乘法得到的结果通过"字符串加法"加在一起curr := ""for j := n - 1; j > i; j -- {curr += "0"}// ⬆️ 每进行一次乘法之后, 与模拟竖式乘法类似, 这一次乘数当中数字与被乘数相乘的结果需要补零y := int(num2[i] - '0')cnt := 0    // 记录进位for j := m - 1; j >= 0; j -- {x := int(num1[j] - '0')product := x * y + cntcurr = strconv.Itoa(product % 10) + currcnt = product / 10}for cnt > 0 {curr = strconv.Itoa(cnt % 10) + currcnt /= 10}ans = addStrings(ans, curr)}return ans
} func addStrings(num1, num2 string) string {m, n := len(num1), len(num2)ans := ""cnt := 0for i, j := m - 1, n - 1; i >= 0 || j >= 0; i, j = i - 1, j - 1 {x, y := 0, 0if i >= 0 {x = int(num1[i] - '0')}if j >= 0 {y = int(num2[j] - '0')}curr := x + y + cntans = strconv.Itoa(curr % 10) + anscnt = curr / 10}for cnt > 0 {ans = strconv.Itoa(cnt % 10) + anscnt /= 10}return ans
}
http://www.ds6.com.cn/news/24699.html

相关文章:

  • 做3d ppt模板下载网站有哪些下载百度app并安装
  • 意见反馈的网站怎么做市场营销策划案例经典大全
  • 网站运营怎么学下载百度官方网站
  • 国外哪些做问卷的网站千锋教育培训多少钱
  • 广州seo招聘信息深圳百度快速排名优化
  • 先做网站还是先收集样品泰安百度推广电话
  • 网站排名带照片怎么做网站推广计划方法
  • wordpress4.9.8升级包seo优化教程培训
  • 企业网站内容如何搭建域名注册商怎么查
  • wordpress中文是什么?seo百度站长工具
  • 政府网站 banner flash湘潭网站定制
  • 网站建设所需的基本内容百度推广关键词和创意
  • 西红门网站建设公司湖南长沙seo
  • 网站建设 首选百川互动搞一个公司网站得多少钱
  • 网站怎么做移动端适配百度电脑版下载安装
  • 建设校园门户网站信息意义企业策划
  • 律师网站维护陕西seo优化
  • 广州做网站服务谷歌在线浏览器免费入口
  • 做网站推广的难点正规培训机构有哪些
  • 专业的手机网站建设西安高端网站建设公司
  • 滴滴注册网站搜索引擎免费下载
  • 重庆模板网站建设产品如何做市场推广
  • 网站域名 没有续费近期的重大新闻
  • 网站开发是BS架构吗seo工作是什么意思
  • 类似AG网站建设东莞优化排名公司
  • 个人备案做视频网站常用网站推广方法及资源
  • 贵阳做网站好的公司有哪些抖音关键词排名查询
  • 福建微网站建设价格怎么自己弄一个网站
  • 西安做行业平台网站的公司今日广州新闻头条
  • 万网建网站流程seo技术自学