在行列都排好的矩阵中找数
- 在行列都排好的矩阵中找数
-
题目思路
-
C++代码实现
#include <vector>
#include <iostream>
using namespace std;
class Solution
{
public:
bool IsExist(vector<vector<int>>& matrix, int k)
{
bool existence = false;
int row = matrix.size();
int col = matrix[0].size();
int a = 0;
int b = col - 1;
while (a < row && b >= 0)
{
if (matrix[a][b] > k)
{
b--;
}
else if (matrix[a][b] < k)
{
a++;
}
else if (matrix[a][b] == k)
{
existence = true;
break;
}
}
return existence;
}
};
int main()
{
int n = 0;
int m = 0;
int k = 0;
cin >> n;
cin >> m;
cin >> k;
vector<vector<int>> matrix(n, vector<int>(m));
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cin >> matrix[i][j];
}
}
Solution s;
if (s.IsExist(matrix, k))
{
cout << "Yes";
}
else
{
cout << "No";
}
return 0;
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步