二维数组的查找 数组越界问题 财富值70

2016-10-16 11:23发布

牛客网上做一道编程题,一直报出数组越界问题,但是我一直没看出来哪里越界了

求助攻

我的思路是 判断目标数是否在当前行范围中,若是,采用二分法咋找,若不是,跳到下一行

public class Solution {     public boolean Find(int [][] array,int target) {         if(array==null)             return false;         int n = array.length;         for (int i = 0; i < n; i++) {             if (array[i] == null)                 return false;             int size = array[i].length;             if (target <= array[i][size - 1] && target >= array[i][0]) {                 int s = 0;                 int e = size - 1;                 while (s <= e) {                     int m = (s + e) / 2;                     if (target < array[i][m]) {                         e = m - 1;                     } else if (target > array[i][m]) {                         s = m + 1;                     } else {                         return true;                     }                 }             }          }         return false;     } }
付费偷看设置
发送
1条回答
laipihui - 这个人很懒,什么都没留下
1楼 · 2016-10-16 12:11.采纳回答

size 可能为 0

一周热门 更多>