程序地带

leetcode刷题day6


day6
leetcode43、字符串相乘O(mn)(104 ms)

题目链接


/**
* @param {string} num1
* @param {string} num2
* @return {string}
*/
var multiply = function(num1, num2) {
let m = num1.length;
let n = num2.length;
let arr = new Array(m+n).fill(0);
let pos = arr.length-1;
for(let i=n-1; i>=0; i--){
let temp = pos; // 数组当前位置需计算的值
let jinwei = 0;
for(let j=m-1; j>=0; j--){
let val = num2[i]*num1[j]+arr[temp]; // mark1: 当前值=乘积+"进位"或者前一个竖式的计算结果
let yu = val % 10;
jinwei = Math.floor(val / 10);
arr[temp] = yu;
arr[--temp] += jinwei; // mark2: 前一个位置为进位或者前一个竖式的计算结果
}
pos--;
}
// 找到数组的第一个非零位置
// 如果都为0, 返回"0"
let i = 0;
while(arr[i]==0) i++;
if(i==arr.length) return "0";
return arr.slice(i).join("");
};

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44386939/article/details/112760990

随机推荐

【LeetCode】C++ :简单题 - 树 572. 另一个树的子树

572.另一个树的子树难度简单424给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也...

哟米 2000 阅读(937)

大一新生求助

4.数组转置:在主函数中定义一个n(1<=n<=6)维方阵,并从键盘读入数组元素;编写函数transp...

weixin_51598306 阅读(203)

WEB安全综述

web安全综述1,web体系系统结构(由低到高的顺序)①操作系统:Linux/Windows②存储:web应用保存大量信息...

zhaoqiaozhaoqiao 阅读(452)

springboot的配置文件

1.springboot的配置文件分为yml和properties两种而且名称固定为:application.yml和application.properties2.yml配置文件的格式...

weixin_54445218 阅读(796)

排序

(一)冒泡排序:1比较相邻的两个元素,如果第一个比第二大,就交换位置2对每一对相邻的元素做同样的工作,从开始一对到最后一对,当一轮比较完之后,最后的元素,一定是最大的(最小...

鲁伯特之泪ღ 阅读(434)

LeetCode——112. 路径总和

题目描述:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:...

讲个笑话哈哈哈 阅读(132)