“Wyszukaj matrycę 2D” Kod odpowiedzi

Wyszukaj matrycę 2D

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if(matrix.length == 0) return false;
        int rows = matrix.length;
        int cols = matrix[0].length;
        
        int left = 0;
        int right = rows*cols-1;
        
        while(left <= right){
            int mid = left + (right-left)/2; // calculates the mid point of 1D array.
            int midElement = matrix[mid/cols][mid%cols]; // converting midpoint of 1D array to 2D array
            if(midElement == target) return true;
            if(midElement < target) left = mid+1;
            else right = mid-1;
        }
        return false;
    }
}
Prabhu Kiran Konda

Wyszukaj matrycę 2D II

// Search a 2D Matrix II
// https://leetcode.com/problems/search-a-2d-matrix-ii
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int row = 0;
        int col = matrix[0].length-1;
        
        while (row < matrix.length && col >= 0){
            if (matrix[row][col] == target) return true;
            if (matrix[row][col] < target) row++;
            else if (matrix[row][col] > target) col--;
        }
       return false;
    }
}
Prabhu Kiran Konda

Odpowiedzi podobne do “Wyszukaj matrycę 2D”

Pytania podobne do “Wyszukaj matrycę 2D”

Więcej pokrewnych odpowiedzi na “Wyszukaj matrycę 2D” w Java

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu