黑咖啡 发表于 2017-10-28 20:34:30

这种输入格式该怎么处理

【问题描述】设定整数数组B的数据在行列方向上都按从小到大的顺序排序,且整型变量x中的数据在B中存在。试设计一个算法,找出一对满足B=x的i,j值。
【输入形式】一个二维数组,一个x值
【输出形式】x在二维数组的位置,i和j的值
【样例输入】1 2 3;4 5 6;7 8 9   x=5

【样例输出】i=2 j=2

darian365 发表于 2017-11-1 02:30:12

本帖最后由 darian365 于 2017-11-1 02:33 编辑

假设你有一个二维矩阵,并且行列都升序排列。找出具体具体元素在军阵中的位置。代码可以参考如下。
public class Solution {
    /**
   * @param matrix, a list of lists of integers
   * @param target, an integer
   * @return a boolean, indicate whether matrix contains target
   */
    public boolean searchMatrix(int[][] matrix, int target) {
      // write your code here
      if (matrix == null || matrix.length == 0) {
            return false;
      }
      if (matrix == null || matrix.length == 0) {
            return false;
      }

      int row = matrix.length;
      int column = matrix.length;

      int start = 0;
      int end = row * column - 1;
      int mid;

      while (start + 1 < end) {
            mid = start + (end - start) / 2;
            int number = matrix;
            if (number == target) {
                return true;
            } else if (number < target) {
                start = mid;
            } else {
                end = mid;
            }
      }

      if (matrix == target) {
            return true;
      } else if (matrix == target) {
            return true;
      }
      return false;
    }
}

marszx 发表于 2017-11-15 17:21:00

最简单的处理方式就是把他们当成char,然后根据输入判断是数字还是分割符号,还是x啥的其他,数字的话就把char转化成int
页: [1]
查看完整版本: 这种输入格式该怎么处理