ARTS Week 17

Algorithm

本周的算法题为 989. 数组形式的整数加法

整数的 数组形式 num 是按照从左到右的顺序表示其数字的数组。

  • 例如,对于 num = 1321 ,数组形式是 [1,3,2,1]

给定 num ,整数的 数组形式 ,和整数 k ,返回 整数 num + k数组形式

示例 1

输入:num = [1,2,0,0], k = 34
输出:[1,2,3,4]
解释:1200 + 34 = 1234

实现代码如下:

var addToArrayForm = function (num, k{
    var numStr = ''
    var outStr = ''
    var outNum = []
    for (let i = 0; i < num.length; i++) {
        numStr = numStr + num[i]

    }
    outStr = BigInt(numStr) + BigInt(k) + ''
    for (let i = 0; i < outStr.length; i++) {
        if (outStr[i] !== 'n') {
            outNum.push(Number(outStr[i]))
        }
    }
    return outNum
}

解题思路:

首先,先将num数组转为数字,然后再和k相加,最后再次遍历为数组即可。在实现过程中遇到Number转换超长String会出现精度丢失问题,使用BigInt实现,但是因为BigInt格式后缀会有n,所以在转换为数组时,判断去掉n。

Review

Decimal point 150 years older than thought

一项新发现令全球数学家兴奋不已。最近出土的文件显示,生活在威尼斯的商人乔瓦尼·比安奇尼(Giovanni Bianchini)在14世纪40年代的记录中使用了一个小数点。历史学家对这一重大发现给予了高度评价,因为它意味着小数点的使用比之前认为的要早150年。比安奇尼是一位敏锐的天文学家,他对自己观测到的天象进行了详细标注,并提供了基于恒星和行星排列计算占星术预测给威尼斯人民。格伦·范·布鲁梅伦博士注意到比安奇尼在1441年至1450年间一篇论文中使用了小数点。如今,小数点已成为我们生活中不可或缺的一部分,并且看起来已经被使用了几千年。历史学家指出,在20世纪90年代,伊斯兰世界就开始采用某种形式上等同于小数点功能的符号。很可能是由于比安奇尼曾去过中东并受到那里学者们影响所致,这些学者在许多数学概念形成方面扮演着关键角色。其他历史证据表明,在12世纪中国知识分子也采用过某种形式上等同于小数点功能的符号。直到1593年才有确切记录显示最早明确使用小数点系统,当时德国数学家克里斯托夫·克拉维斯在其天文研究中应用了该系统。

Tip

在windows环境使用git安装nvm

因公司电脑做了软件安装限制,导致不能使用.exe方式配置nvm工具,但是平时项目开发中,经常需对老项目使用不同的node版本,所以这个工具还是很重要的。确定研究一下有没有其他方式配置nvm,在github上看到有Git Install章节,用法是要git clone项目源码下来,然后配置,但是现在github一直clone不了项目,所以就去gitee上看了一下,发现有这个仓库nvm-cn: 🧊 nvm国内安装工具 (gitee.com),用法很简单,只需要在Git Bash Here上使用以下命令即可安装:

bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"

然后验证一下,使用命令nvm ls,如下所示:

alt

使用nvm命令时只能在Git Bash Here上使用,在Windows PowerShellCMD命令窗口是使用不了的。

指定默认的Node版本,使用一下命令:

nvm alias default 16.14.2

Share

技术的发展是永无止境的,脚踏实地才能遥望星空。

本文由 mdnice 多平台发布

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AR7_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值