在String数组中找到n个空的相邻位置

时间:2015-10-06 18:48:14

标签: java arrays string algorithm

我正在设计一个程序,它将一个给定数量的字符串并排存储在一个部分填充的数组中。 我在创建执行以下操作的算法时遇到了困难:

  1. 接收一个字符串数组和一个int值,表示数组中需要有多少空相邻点。
  2. 搜索数组以查找该大小的不同空白块。
  3. 随机选择其中一个空块的起始索引
  4. 返回(3) - int
  5. 中的值

    这是一个如何工作的例子。 给定String []arr = {"greg", null, null, "adam", null, "phil",null, null };如果我打算找到两个空座位的块: public static int getIndex(arr, 2) {...}应该返回arr[1]arr[6]

    请问我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

这可以很简单地解决:

List<Integer> pos = new ArrayList<>();

int len = 0;
for(int i = 0 ; i < arr.length ; i++)
    if(s == null)
        len++;
    else
        len = 0;

    if(len >= min_len)
        pos.add(i - min_len + 1);

return pos.get(new Random().nextInt(pos.size()));