在一个二维数组中,行列都是递增,判断数组中是否含有输入的整数
来源:互联网 发布:ubuntu tensorflow安装 编辑:程序博客网 时间:2024/05/17 22:43
完整题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
package com.jason.algorithm;public class ArrayAlgootithmPractice {public static void main(String[] args) {ArrayAlgootithmPractice arrayAlgootithmPractice = new ArrayAlgootithmPractice();int target = 5;int[][] arrays = { { 1, 2, 3, 4 }, { 2, 3, 4, 6 }, { 3, 4, 6, 7 } };System.out.println(arrayAlgootithmPractice.Find(target, arrays));System.out.println(arrayAlgootithmPractice.Find1(target, arrays));System.out.println(arrayAlgootithmPractice.Find2(target, arrays));}/* 利用每行最后一个元素最大的特性 */public boolean Find(int target, int[][] array) {boolean isFind = false;for (int i = 0, j = array[0].length - 1; !isFind && i < array.length&& j >= 0;) {System.out.println(" i =" + i + " j=" + j);if (array[i][j] == target) {isFind = true;break;} else if (array[i][j] > target) {j--;} else {i++;}}return isFind;}/* 直接遍历数组,没有用到条件 */public boolean Find1(int target, int[][] array) {boolean isFind = false;int columnLength = array[0].length;for (int i = 0; i < array.length; i++) {for (int j = 0; j < columnLength; j++) {if (target == array[i][j]) {isFind = true;break;}}}return isFind;}/* 遍历每行,每行用二分法查找 */public boolean Find2(int target, int[][] array) {for (int i = 0; i < array.length; i++) {int low = 0;int high = array[i].length - 1;while (low <= high) {int mid = (low + high) / 2;if (target > array[i][mid]) {low = mid + 1;} else if (target < array[i][mid]) {high = mid - 1;} else {return true;}}}return false;}}
如果你有更好的实现方式,欢迎留言,大家一起学习,谢谢!
0 0
- 在一个二维数组中,行列都是递增,判断数组中是否含有输入的整数
- java 判断二维数组中是否含有输入的整数
- 一个有序的二维数组,自上而下,自左至右都是升序,判断输入的整数是否在数组中
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 问题描述大概如下:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 牛客刷题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 牛客网剑指offer—题目一在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- java 剑指offer 第一题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- Mac中mysql的环境变量配置
- Problem A. gRanks Google APAC 2016 University Test Round C
- 压缩感知(compressed sensing)的通俗解释
- UOJ86 mx的组合数
- poj2778 DNA Sequence AC自动机+矩阵乘法
- 在一个二维数组中,行列都是递增,判断数组中是否含有输入的整数
- POJ3009-Curling 2.0-DFS
- springMVC源码分析--HttpMessageConverter写write操作(三)
- UVA12186 树形DP
- web应用中浏览器与服务端的编码和解码
- Burpsuite下载安装
- Android中样式和国际化
- 《操作系统原理》课程中涉及的数据结构总结
- UVA11624 Fire!