18
构造梯子
介绍 我想搭梯子。为此,我从垃圾场清理了两个长板,其中有孔,我想将台阶放到这些孔中。但是,孔的位置不均匀,因此步骤会有点儿摇晃,我发现很难估算出我需要的杆数量。你的工作是为我做计算。 输入项 您的输入是两个位向量,以整数数组形式给出,代表了两个板。A 0代表一个不带孔的1 aud的片段(距离的任意单位),而a 1代表一个不带孔的1 aud的片段。数组的长度可能不同,并且包含不同数量1的,但是它们不会为空。 我将按以下方式构造我的梯子。首先,我将两块电路板精确地相距一个aud,然后对齐它们的左端。对于每个索引i,我测量i第一块板的i孔与第二块板的孔之间的距离,切下一根杆,然后将其连接在两个孔之间。一旦我在其中一块板上的孔用完了,我就会停下来。 输出量 您的输出是我将要执行的步骤所需的总杆数,以奥德为单位。输出应正确至少为六个有效数字。 例 考虑输入[0,1,1,0,1,1,1,1,0,0]和[1,0,0,1,1,1,0,0,1]。生成的梯形看起来像这样: 该梯子7.06449510224598中杆的总长度为奥兹。 规则 您可以编写函数或完整程序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 [0] [0] -> 0.0 [0] [1,0] -> 0.0 [1,0,0] [1,1,1,1,1] -> 1.0 [0,1,0,1] [1,0,0,1] -> 2.414213562373095 [0,1,1,0,1,1,1,1,0,0] [1,0,0,1,1,1,0,0,1] -> 7.06449510224598 [1,1,1,1,1] [0,0,1,1,0,1,0,0,1] -> 12.733433128760744 [0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0] [0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1] -> 20.38177416534678