数组索引超出范围-2d至1d

康纳·摩尔

我正在使用普林斯顿大学提出的algs4 8拼图程序。我在第二个for循环中得到了数组索引超出范围的异常。有人看到引发此异常的问题吗?我的板子类+相关方法如下:

public class Board {
 private final int[][] blocks;
 private final int N;

 // construct a board from an N-by-N array of blocks
 // (where blocks[i][j] = block in row i, column j)
    public Board(int[][] blocks){
     N = blocks.length;
     this.blocks = new int[N][];
     for (int i=0; i<N; i++){
      this.blocks[i] = Arrays.copyOf(blocks[i], N);
     }
    }

    // board dimension N
    public int dimension(){
     return this.N;
    }

   //is the board solvable? 
   public boolean isSolvable(){
      int inversions = 0; 
      List<Integer> convert = new ArrayList<>(); // convert 2d to 1d 
      for (int i = 0; i < blocks.length; i++){
          for (int j = 0; j < blocks[i].length; j++){
              convert.add(blocks[i][j]);
          }
      }
      for (int i = 0; i < blocks.length; i++){ //counts the number of inversions 
          if (convert.get(i) < convert.get(i-1)){ //ARRAYINDEXOUTOFBOUNDS -1
              inversions++; 
          }
      }
      if (inversions % 2 == 0){
          return true; //even 
      }
      return false; //odd 
  }
他们是

convert.get(i-1) 当i == 0时超出范围。

您可能应该更改循环的开始索引:

  for (int i = 1; i < blocks.length; i++){ //counts the number of inversions 
      if (convert.get(i) < convert.get(i-1)){ 
          inversions++; 
      }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数组索引超出范围的2D数组

来自分类Dev

2D数组抛出索引超出范围的异常

来自分类Dev

Java:数组索引超出范围异常2

来自分类Dev

Unity 2D锯齿状数组,数组索引超出范围

来自分类Dev

存储到2D数组中时Java数组索引超出范围的异常

来自分类Dev

2D数组(C#)中的索引超出范围异常

来自分类Dev

索引 1 超出范围 [0..1) 图像

来自分类Dev

索引2超出范围JSON

来自分类Dev

如何检查2D数组是否超出范围?

来自分类Dev

2D数组和超出范围的异常

来自分类Dev

带有1列的Numpy重塑1d至2d数组

来自分类Dev

如何修复Unity3D中的``数组索引超出范围错误''

来自分类Dev

Unity3d脚本错误C#IndexOutOfRangeException:数组索引超出范围

来自分类Dev

'-[__ NSCFArray objectAtIndex:]:超出范围(1)的索引(1)”添加到数组后

来自分类Dev

非空数组的NSRangeException索引1超出范围[0 .. 0]

来自分类Dev

循环运行2次,然后数组索引超出范围异常

来自分类Dev

PSQLException:列索引超出范围:2,列数:1

来自分类Dev

PSQLException:列索引超出范围:2,列数:1

来自分类Dev

IndexError:列表索引超出范围-定义2d列表时

来自分类Dev

错误:列索引超出范围:1,列数:0

来自分类Dev

字符串索引超出范围:-1循环错误

来自分类Dev

错误:列索引超出范围:1,列数:0

来自分类Dev

列表索引超出范围python1

来自分类Dev

“线程1:致命错误,索引超出范围”

来自分类Dev

Mongodb异常字符串索引超出范围:-1

来自分类Dev

NSArrayM objectatindex索引1超出范围[0..0]

来自分类Dev

NSMutableArray索引1超出范围[0 .. 0]

来自分类Dev

UITableView在NSArray索引1上崩溃超出范围

来自分类Dev

参数1无效:参数索引超出范围。Java之春

Related 相关文章

  1. 1

    数组索引超出范围的2D数组

  2. 2

    2D数组抛出索引超出范围的异常

  3. 3

    Java:数组索引超出范围异常2

  4. 4

    Unity 2D锯齿状数组,数组索引超出范围

  5. 5

    存储到2D数组中时Java数组索引超出范围的异常

  6. 6

    2D数组(C#)中的索引超出范围异常

  7. 7

    索引 1 超出范围 [0..1) 图像

  8. 8

    索引2超出范围JSON

  9. 9

    如何检查2D数组是否超出范围?

  10. 10

    2D数组和超出范围的异常

  11. 11

    带有1列的Numpy重塑1d至2d数组

  12. 12

    如何修复Unity3D中的``数组索引超出范围错误''

  13. 13

    Unity3d脚本错误C#IndexOutOfRangeException:数组索引超出范围

  14. 14

    '-[__ NSCFArray objectAtIndex:]:超出范围(1)的索引(1)”添加到数组后

  15. 15

    非空数组的NSRangeException索引1超出范围[0 .. 0]

  16. 16

    循环运行2次,然后数组索引超出范围异常

  17. 17

    PSQLException:列索引超出范围:2,列数:1

  18. 18

    PSQLException:列索引超出范围:2,列数:1

  19. 19

    IndexError:列表索引超出范围-定义2d列表时

  20. 20

    错误:列索引超出范围:1,列数:0

  21. 21

    字符串索引超出范围:-1循环错误

  22. 22

    错误:列索引超出范围:1,列数:0

  23. 23

    列表索引超出范围python1

  24. 24

    “线程1:致命错误,索引超出范围”

  25. 25

    Mongodb异常字符串索引超出范围:-1

  26. 26

    NSArrayM objectatindex索引1超出范围[0..0]

  27. 27

    NSMutableArray索引1超出范围[0 .. 0]

  28. 28

    UITableView在NSArray索引1上崩溃超出范围

  29. 29

    参数1无效:参数索引超出范围。Java之春

热门标签

归档