2013-09-07 2 views
0

검색이 면접 질문 중간 부분은 하나의 일을 공유하지 않기 때문에 주어진 X가 유효하지 않기 때문에,최대 교차 대각선

00100001 
00010010 
00001100 
00001100 
00010010 
00100001 

1의 크기를 반환합니다 단일 1.

예를 들어, 매트릭스를 공유하는이 같은 크기 대각선 . 한편, 다음 행렬

101 
010 
101 

대각선 3이므로 값 3을 반환합니다. 이러한 프로그램을 작성하십시오.

나는 첫 번째 해결책이 here으로 논의 된 것을 알고 있지만,이 문제를 해결하는보다 효율적인 방법이 있는지 궁금합니다. 생각?

답변

2

시간 복잡도에 관해서는 점근 적으로 더 나은 해결책이 없습니다. 더 약한 문제는 행렬에 1 셀이 있는지 확인하는 것입니다. 이 문제에 대해 분명히 당신은 모든 세포를 방문해야만 O (nxm)를 얻을 수 있습니다. 이제 이것은 O (nxm)가있는 원래 문제의 하한입니다. Qed.

+0

매트릭스의 각 (i, j)에서 왼쪽 상단, 오른쪽 하단, 오른쪽 상단, 왼쪽 하단 요소를 확인해야하며 성능을 향상시킬 수있는 다른 방법은 없습니다. 어쨌든 이걸 위해서. 그게 당신이 제안하려고하는 것입니까? –

+0

예 아니오 : 더 나은 점근선 해결책이 없습니다. 그리고 예, http://www.careercup.com/question?id=6130581557477376에서 솔루션에 대한 구체적인 알고리즘이 주어지면 일정한 요소로 성능을 조정할 수 있습니다. 어느 것이 어려울 수 있습니다. –