0
点赞
收藏
分享

微信扫一扫

剑指offer:ZJ1. 二维数组中的查找


剑指offer:ZJ1. 二维数组中的查找_二维数组



关注微信公众号:夜寒信息

为每一位用户提供免费优质的技术帮助


每日一题:


题目:ZJ1. 二维数组中的查找


描述:

在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

[

[1,2,8,9],

[2,4,9,12],

[4,7,10,13],

[6,8,11,15]

]


给定 target = 7,返回 true。

给定 target = 3,返回 false。


0 <= array.length <= 500

0 <= array[0].length <= 500


示例1:


输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]] 
返回值:true
说明:存在7,返回true


示例2:


输入:3,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]] 
返回值:false
说明:不存在3,返回false



解答:


import java.util.Stack;

public class Solution {
Stack<Integer> stack1 = new Stack();
Stack<Integer> stack2 = new Stack();
int min = 100;

public void push(int node) {
stack1.push(node);
if (stack2.empty() || node <= this.min) {
this.min = node;
stack2.push(this.min);
}
}

public void pop() {
int top = stack1.pop();
if (top == stack2.peek()) {
stack2.pop();
this.min = stack2.peek();
}
}

public int top() {
return stack1.peek();
}

public int min() {
int ret = stack2.pop();
this.min = stack2.peek();
return ret;
}
}



关注微信公众号:夜寒信息

为每一位用户提供免费优质的技术帮助





剑指offer:ZJ1. 二维数组中的查找_微信公众号_02

点个你最好看


剑指offer:ZJ1. 二维数组中的查找_二维数组_03

举报

相关推荐

0 条评论