class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if(matrix.length ==0 || matrix[0].length == 0){
return false;
}
int j = matrix[0].length ;
int[] nl =new int[j];
for(int i = 0 ; i<matrix.length ; i++){
if(matrix[i][0]<target && target<matrix[i][j-1] || matrix[i][0] == target || matrix[i][j-1] == target){
for(int o =0 ; o < j ; o++){
nl[o] = matrix[i][o];
}
if( s(nl,target)) {
return true;
}
}
}
return false;
}
private static boolean s(int[] nl, int target){
for (int i = 0; i < nl.length; i++) {
if(target == nl[i]) {
return true;
}
}
return false;
}
}
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int index1 = m-1;
int index2 = n-1;
int newIndex = m+n-1;
while(true) {
if(index1 <0 || index2 < 0) {
break;
}
if(nums1[index1] > nums2[index2]) {
nums1[newIndex--] = nums1[index1--];
}else {
nums1[newIndex--] = nums2[index2--];
}
}
if(index2 >= 0) {
for (int i = 0; i <=index2; i++) {
nums1[i] = nums2[i];
}
}
}
}