这种输入格式该怎么处理
【问题描述】设定整数数组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: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;
}
}
最简单的处理方式就是把他们当成char,然后根据输入判断是数字还是分割符号,还是x啥的其他,数字的话就把char转化成int
页:
[1]