剑指offer,Come On!!
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到
下递增
的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中
是否含有该整数。
答: 公布答案啦!!
一:C++实现版
这里手动定义一个数组通过遍历该数组,判断值是否在数组中!!关于数组在函数中以及在指针函数中形参以及实参的调用请参照:点击打开链接
#include <iostream>
using namespace std;
int Decide(int A[3][3],int n)
{
for (int i = 0; i < 3;i++)
for (int j = 0; j < 3;j++)
if (A[i][j] == n)
return 1;
return 0;
}
//这里手动定义一个符合要求的数组A[3][3]
int main()
{
int Array[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int num = Decide(Array, 10);
switch (num)
{
case 0:
cout << "该数不在数组中" << endl;
break;
case 1:
cout << "该数在数组中" << endl;
break;
default:
break;
}
return 0;
}
using namespace std;
int Decide(int A[3][3],int n)
{
for (int i = 0; i < 3;i++)
for (int j = 0; j < 3;j++)
if (A[i][j] == n)
return 1;
return 0;
}
//这里手动定义一个符合要求的数组A[3][3]
int main()
{
int Array[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int num = Decide(Array, 10);
switch (num)
{
case 0:
cout << "该数不在数组中" << endl;
break;
case 1:
cout << "该数在数组中" << endl;
break;
default:
break;
}
return 0;
}
二:下面是最终结果啦,大家一起来做!!!
这是这次的解决,明天继续来哦!!!
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
(array[i][j]==target)
return
true
;
return
false
;
}
};