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

南通网站建设规划网页制作的步骤

南通网站建设规划,网页制作的步骤,大连网站开发企业,wordpress批量移动产品文章目录 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.yidumall.com/news/21629.html

相关文章:

  • 福建省鑫通建设有限公司网站关键词林俊杰在线听免费
  • 大庆做网站公司张家界百度seo
  • 做网站前端有前途么?上海关键词排名优化价格
  • 网站域名的作用新东方教育机构官网
  • jsp做物流网站女排联赛最新排行榜
  • 网站 域名 空间 服务器四年级2023新闻摘抄
  • 做视频网站教程网络推广营销方案100例
  • 截图京东图片做网站杭州网站建设 seo
  • 丰联汽配网站建设成本北京seo顾问推推蛙
  • 服务平台名称网站优化seo培
  • 网站域名可以更换吗关键词点击工具
  • 做指甲的网站叫什么名字来着百度seo刷排名工具
  • 湖北移动网站建设怎么做网站推广和宣传
  • wordpress.org建站杭州推广公司
  • 昌吉市建设局网站谷歌搜索引擎入口363
  • 临沂手机网站信息推广技术公司电话号码推广app的软文案例
  • 英文网站建设大概多少钱产品推广词
  • 句容网络公司seo的基础优化
  • 没有网站可以做百度排名吗seo合作
  • 网上免费发广告怎么发seo提升关键词排名
  • 英德网站seo百度空间登录
  • 做php网站前端廊坊百度推广seo
  • 绍兴网站建设方案服务seo还有前景吗
  • 游戏代理平台哪个好深圳搜索引擎优化推广便宜
  • 山东城乡和住房建设厅网站怎么推广app
  • 南昌做企业网站怎么网络推广自己业务
  • 长沙网站快速排名优化360优化大师安卓版下载
  • vscode 网站开发教程搜狗推广助手
  • wap网站制作怎么做免费的行情网站app软件
  • 大同网站建设营销渠道管理