javascript - LeetCode : 1281. 整数的乘积与位数之和相减

标签 javascript numbers digits

我一直试图从 LeetCoode 中找出这个问题。问题是这样的:给定一个整数n,返回它的各位数字的乘积和它的各位数字之和之间的差。

这是我到目前为止的代码:

/**
 * @param {number} n
 * @return {number}
 */
//n=234
var subtractProductAndSum = function(n) {
    var z= n.toString().length;
    var g= n.toString()
    for(var i=0; i<z; i++){
      var p= g[i]+g[i+1]+g[i+2];
    var y=g[i]*g[i+1]*g[i+2];
        var d= y-p
    }
    return d;
};

最佳答案

您的解决方案假设该数字为三位数,这可能不是问题的目的。

我会遍历这个数字并一一提取数字,然后对它们进行求和和相乘。然后,将两者相减:

var subtractProductAndSum = function(n) {
    // Initialize the sum and the product with neutral values
    var sum = 0;
    var product = 1;

    while (n > 0) {
        var digit = n % 10;
        sum += digit;
        product *= digit;

        n = Math.floor(n / 10);
    }

    return product - sum;
};

关于javascript - LeetCode : 1281. 整数的乘积与位数之和相减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59546839/

相关文章:

javascript - 如何使带有 readonly=false 的 textarea 可编辑?

javascript - 如何在不指定模型名称的情况下从该模型的实例调用静态 Backbone.Model 函数?

javascript - 如何在 ionic 4 中为图像添加预加载器背景

javascript - 检查输入字符串是否为正 int/float 数

count - 我们如何有效地计算 Elixir 中整数的位数?

javascript - 获取匹配特定值的 JSON 对象

java - 生成系列 {1,3,9,27,....} 的子集并按总和的升序排列子集

c++ - 从给定的数字计算所有可能的数字

c++ - 如何在C++中将整数的数字放入 vector 中

ruby-on-rails - Rails 中数字的本地化