1. 한 2 차원 배열 에서 (각 1 차원 배열 의 길이 가 같 음) 모든 줄 은 왼쪽 에서 오른쪽으로 증가 하 는 순서에 따라 정렬 되 고 모든 열 은 위 에서 아래로 증가 하 는 순서에 따라 정렬 된다.함 수 를 완성 하 십시오. 이러한 2 차원 배열 과 정 수 를 입력 하여 배열 에 이 정수 가 있 는 지 판단 하 십시오.

생각:
1
2
3
2
5
7
3
9
10
왼쪽 아래 에서 옮 겨 다 니 며 target 이 현재 요소 보다 작 을 때 오른쪽으로 가세 요. 현재 열 위의 요 소 는 target 보다 작 기 때 문 입 니 다.terget 이 현재 요소 보다 클 때 걷 는 것 을 잊 습 니 다. 현재 줄 오른쪽 에 있 는 모든 요소 가 target 보다 크 기 때 문 입 니 다.현재 요소 와 같 을 때 찾기 에 성공 합 니 다.옮 겨 다 니 며 찾 지 못 하면 실패 합 니 다.
코드:
class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        int row = array.size();
        int col = array[0].size();
        for(int i=row-1,j=0;i>=0&&j<col;){
            if(array[i][j]==target) return true;
            else if(array[i][j]<target){
                j++;
                continue;
            }
            else {
                i--;
                continue;
            }
        }
        return false;
    }
};

좋은 웹페이지 즐겨찾기