标签:维数 ble 树的镜像 cto pytorch 应该 pytho 把数组排成最小的数 从上往下打印二叉树
二维数组的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
题目要求中可以发现有两个突破口:
1.从行看,从左往右依次递增
(1)当我们从第一行第一个元素开始比较的时候,会发现无论是往右还是往下都是递增,比较没有意义
(2)故从第一行最后一个元素进行比较时候我们发现,小于时往左走,大于时候往下走。
图例(4*4的二维数组):
def Find(target, array):
# write code here
if array==[]: return False
LieShu=len(array[0])
HangShu=len(array)
i=0
j=LieShu - 1
while i < HangShu and j >= 0:
if target < array[i][j]:
j-=1
elif target > array[i][j]:
i+=1
else:
return True
return Fals
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int row = array.size();
int col = array[0].size();
for(int i=0;i<row;i++){
for(int j=0;j<col;j++)
{
if(target==array[i][j])
{
return true;
}
}
}
return false;
}
};
public boolean find(int[][] array,int target) {
if (array == null) {
return false;
}
int row = 0;
int column = array[0].length-1;
while (row < array.length && column >= 0) {
if(array[row][column] == target) {
return true;
}
if(array[row][column] > target) {
column--;
} else {
row++;
}
}
return false;
}
注:面试季来了,不管是作为面试者还是以后作为面试官,了解算法这门程序员之间的沟通方式都是非常必要的。找过工作的朋友应该都听说过《剑指offer》,虽然书中只有六十多道题目,但是道道都是经典。
如果是单纯的面试需求,剑指offer的优先级肯定是在Leetcode之前,总的说它有三个优点:
它的缺点是:
剑指offer刷题交流群
扫码添加微信,一定要备注研究方向+地点+学校+昵称(如机器学习+上海+上交+汤姆)
▲长按加群
The End
▼
往期精彩回顾
▼
CNN+BLSTM+CTC的验证码识别从训练到部署
机器学习算法(一) | Adaboost算法详解
Tensorflow 3w+star例子带你学
重磅|pytorch实现CS224N模型
标签:维数 ble 树的镜像 cto pytorch 应该 pytho 把数组排成最小的数 从上往下打印二叉树
原文地址:https://blog.51cto.com/15054042/2564436