每天一道算法题——二位数组中的查找
2017-11-16 13:11
232 查看
题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
测试用例:
7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
对应输出应该为:
true
最终源码:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
测试用例:
7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
对应输出应该为:
true
最终源码:
public class Solution { public static boolean Find(int target, int [][] array) { int rCount = array.length;//获取矩阵行数 int cCount = array[rCount].length;//获取矩阵列数 //从左下角进行比较,如果小就往上走,如果大就往右走,直到找到target,或是返回false for(int i = rCount-1, j = 0;i>=0&&j<cCount;){ if (target == array[i][j]) { return true; }else if(target < array[i][j]){ i--; continue; }else if (target > array[i][j]) { j++; continue; } } return false; } }
相关文章推荐
- 每天一道算法题8 在排序数组中查找和为给定值的两个数字
- 每天一道算法题8 在排序数组中查找和为给定值的两个数字
- 每天一道算法题8 在排序数组中查找和为给定值的两个数字
- 每天一道LeetCode-----有序数组右移n位后查找某个元素
- 每天一道算法题3 求子数组的最大和
- 每天学习一算法系列(14) (输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字)
- 每天一算法(查找最小的k个元素(数组))
- 每天一道算法题4 查找最小的k个元素
- 每天一道算法题(14)——N个降序数组,找到最大的K个数
- 每天一道算法题7 查找链表中倒数第k个结点 ; 输入一个单向链表。如果该链表的结点数为奇数,输出中间的结点;如果链表结点数为偶数,输出中间两个结点前面的一个
- 校招准备系列:每天一道算法题(10)-二维数组查找
- 每天一道算法题(14)——N个降序数组,找到最大的K个数
- 【每天一道算法题】字符串查找
- 每天一道算法题7 查找链表中倒数第k个结点
- 每天一个算法之二维数组查找整数
- 每天一道算法题——旋转数组的最小数字
- 每天一道算法题目(18)——取等长有序数组的上中位数和不等长有序数组的第k小的数
- 每天一道算法题3 求子数组的最大和
- 每天一道算法题目(18)——取等长有序数组的上中位数和不等长有序数组的第k小的数
- 每天一道算法题-1 找出数组中两个只出现一次的数字