使用Binary数组,找到1的位置并输出1的索引作为子集

时间:2019-04-14 20:32:32

标签: java

此代码的目标是查找数组中出现1的数目,并基本上创建另一个索引为1出现的数组。例如说我有一个数组{0,0,1,0,1},输出应为{3,5}。 (在这种情况下,我们将忽略数组的第一个索引)这是我到目前为止的内容:

var data = {
  metaData: [
    {name: "SCHEDULED_TIME"},
    {name: "TRIGGER_TIME"},
    {name: "START_TIME"},
    {name: "END_TIME"},
    {name: "CEC_ID"},
    {name: "TRIGGER_TYPE"},
    {name: "STATUS"},
    {name: "JOB_NAME"}
  ],
  rows: [
    ["12:20", null, null, null, null, null, null, "CLARITY_ETL"],
    ["15:50", null, null, null, null, null, null, "CLARITY_ETL"],
    ["18:30", null, null, null, null, null, null, "BUDGET_ETL"]
  ]
};

let res = data.rows.map(
  row => row.reduce((o, v, i) => ({...o, [data.metaData[i].name]: v}), {})
);

console.log(res);

但是代码没有输出任何东西...我对下一步该怎么做很困惑?这甚至是代码的一个好的开始吗?

1 个答案:

答案 0 :(得分:-1)

package test;

import java.util.ArrayList;

public class array_binary {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] input = {0,0,1,0,1};
        ArrayList<Integer> result = new ArrayList<>();
        for(int i =0 ; i< input.length;i++)
        {
            if (input[i]== 1)
            {
                result.add(i+1);
            }
        }
        System.out.println(result.toString());


    }

}

少量指针:

  1. 我们实际上并没有忽略数组中索引开头​​的第一个索引         为0,但我们人类从1开始读取,因此这是您的示例数据         说3,5,就数组索引而言应该是2,4

  2. 我使用了ArrayList,它基本上只是一个数组,但是具有动态大小。因此,我们没有声明开始的大小,而是     声明一个数组,并根据需要不断添加内容。