[알고리즘 학습] 2 차원 배열 의 찾기
해법 과 분석: 이분법 으로 찾 을 수 있 습 니 다.1. 네 개의 뿔 에서 출발점 을 찾 아 열 로 가 는 것 이 증가 & 걸 어 가 는 것 이 감소 하거나 열 로 가 는 것 이 감소 & 걸 어 가 는 것 이 증가 합 니 다.이 조건 에 맞 는 것 은 왼쪽 아래 와 오른쪽 상단 뿐이다.2. 왼쪽 아래 를 예 로 들 어 두 개의 지침 을 정의 하고 하 나 는 위로 가 고 하 나 는 오른쪽으로 간다 (증가).3. 어떻게 가요?현재 두 포인터 가 가리 키 는 2 차원 배열 의 값 이 검색 값 보다 큰 지 작은 지 판단 합 니 다. 검색 값 보다 크 면 위로, 검색 값 보다 작 으 면 오른쪽으로 갑 니 다.두 바늘 다 멈 추고 못 갈 때 까지.
참조 코드 는 다음 과 같 습 니 다.
/** * 。 。( , ) * @param nums * @param target * @param column * @param row * @return */
public static boolean findNum(int[][] nums,int target,int column,int row)
{
if(nums==null)
{// null
return false;
}
while (column>0&&row>0)
{
int current=nums[row-1][column-1]; //
if(current>target)
{// , ( , )
--row;
}
else if(current<target)
{// , ( , )
++column;
}
else
{//
return true;
}
}
return false;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【JavaScript】 볼록함 그라함 스캔을 구현, 애니메이션화한다! ? 【canvas】볼록포를 시각화해 본다. — s-yoshiki | 스크립트 카스 (@s_yoshiki_dev) JavaScript에서 그레이엄 스캔에 의해 정렬되어 가는 애니메이션을 구현했다. 아래쪽에서 데모로 소개. 참고 Java...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.