| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 
 | #include <iostream>#include <vector>
 using namespace std;
 
 
 
 
 
 
 
 
 class Solution {
 public:
 bool searchMatrix(vector<vector<int>>& matrix, int target) {
 if (matrix.empty() || matrix[0].empty()) {
 return false;
 }
 
 int m = matrix.size(), n = matrix[0].size();
 int i = 0, j = n-1;
 
 while (i < m && j >= 0) {
 if (matrix[i][j] == target) {
 return true;
 } else if (matrix[i][j] < target) {
 i++;
 } else {
 j--;
 }
 }
 
 
 return false;
 }
 };
 
 
 void printArray(const vector<int>& nums) {
 cout << "[";
 for (size_t i = 0; i < nums.size(); i++) {
 cout << nums[i];
 if (i != nums.size() - 1) cout << ",";
 }
 cout << "]";
 }
 
 
 void printArray(const vector<vector<int>>& nums) {
 cout << "[";
 for (size_t i = 0; i < nums.size(); i++) {
 cout << "[";
 for (size_t j = 0; j < nums[i].size(); j++) {
 cout << nums[i][j];
 if (j != nums[i].size() - 1) cout << ",";
 }
 cout << "]";
 if (i != nums.size() - 1) cout << ",";
 }
 cout << "]";
 }
 
 int main() {
 Solution solution;
 vector<vector<vector<int>>> matrix_cases = {
 
 {
 {1,4,7,11,15},
 {2,5,8,12,19},
 {3,6,9,16,22},
 {10,13,14,17,24},
 {18,21,23,26,30}
 },
 
 {
 {1,4,7,11,15},
 {2,5,8,12,19},
 {3,6,9,16,22},
 {10,13,14,17,24},
 {18,21,23,26,30}
 },
 
 {{1}},
 
 {{2}},
 
 {}
 };
 vector<int> target_cases = {5, 20, 1, 1, 0};
 
 for (size_t i = 0; i < matrix_cases.size(); i++) {
 auto& matrix = matrix_cases[i];
 int target = target_cases[i];
 
 cout << "Input: matrix = ";
 printArray(matrix);
 cout << ", target: " << target << endl;
 bool result = solution.searchMatrix(matrix, target);
 cout << "Output: " << (result ? "true" : "false") << endl;
 }
 
 return 0;
 }
 
 |