如何在不重复求和元素的情况下多次遍历数组

如何解决如何在不重复求和元素的情况下多次遍历数组

我正在尝试解决此问题,但是我不知道为什么我无法通过所有测试用例。我需要一些帮助和解释,如何才能多次计数某个数组(在此示例中:变量s),而不重复已累加的相同元素。

问题描述:

Lily有一条巧克力棒,她想与Ron分享给他 生日。每个正方形上都有一个整数。她决定 共享所选条形的连续段,以使 该细分与Ron的出生月份和上的整数之和相匹配 平方等于他的生日。您必须确定多少 她如何划分巧克力的方式。

将巧克力棒视为正方形s=[2,2,1,3,2]的阵列。 她想找到汇总罗恩(Ron)出生日期d=4的细分, 长度等于他的出生月份,m = 2。在这种情况下,有两个 符合她的条件的细分:[2,2][1,3]

功能说明

在下面的编辑器中完成生日功能。它应该返回 一个整数,表示莉莉可以除以巧克力的方式 酒吧。

生日具有以下参数:

s:一个整数数组,每个整数的平方 巧克力, d:一个整数,罗恩的生日, m:一个整数,罗恩的生日,

我的代码

function birthday(s,d,m) {
    let bars = 0;

    if (m !== 1) {
        s.reduce((acc,val) => (acc+val) === d ? ++bars : bars)
    } else {
        bars = 1;
    }

    return bars;
}

某些情况:

  • s = [2、5、1、3、4、4、3、5、1、1、2、1、4、3、3、4、2、1]

  • d = 18

  • m = 7

  • s = [4、5、4、5、1、2、1、4、3、2、4、4、4、3、5、2、2、5、4、3、2、3 , 5,2,1,5,2,3,1,2,3,3,1,2,5]

  • d = 18

  • m = 6

  • s = [4、5、4、2、4、5、2、3、2、1、1、5、4]

  • d = 15

  • m = 4

我的代码与此兼容:

  • s = [1、2、1、3、2]
  • d = 3
  • m = 2

可以在HackerRank>练习>算法>实现中找到

解决方法

每当遍历数组以求和或对其求数学方程,并且必须删除已经计算出的特定元素时,就可以使用这些内置函数之一从数组中删除元素使用特定的索引。 Array.prototype.slice() && Array.prototype.splice()

,

您只需要将切片的长度切成m,然后将其与d进行比较

slice doc

slice() 方法将数组的一部分的浅表副本返回到从startend ({ {1}}(不包括在内),其中endstart代表该数组中项目的索引。原始数组将不会被修改。

例如:

end

以下是可行的解决方案

s = [1,2,1,3,2]
m = 2 
d = 3

// We loop through s with index stop at s.length - m + 1 for slice to be in correct range

// Slices:
i=0: [1,2] -> sum=3 -> res=0+1=1
i=1: [2,1] -> sum=3 -> res=1+1=2
i=2: [1,3] -> sum=4 -> do nothing
i=4: [3,2] -> sum=5 -> do nothing
 

enter image description here

,

这是嵌套循环的一种易于理解的方式:

new_predictions = log_reg.predict(normalised_test_df.iloc[:,2 ].values.reshape(177,-1,1))
cnf_mat = confusion_matrix(y_true=y_test,y_pred = new_predictions,labels=['2A','3A'])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?