关注微信公众号:夜寒信息
为每一位用户提供免费优质的技术帮助
每日一题:
题目: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;
}
}
关注微信公众号:夜寒信息
为每一位用户提供免费优质的技术帮助
点个你最好看