행렬 문제를 발견했지만 최적의 솔루션을 찾으려고했습니다. Problem statement는 질문 주제 그 자체입니다. 행이 정렬되기 때문에, 지금, 1 처음 나타나는 각 행에 이진 검색을 수행 생각하고 total number of columns minus index of 1st 1
것 (1)의 계산 : 는주어진 부울 행렬을 행별로 정렬합니다. 최대 숫자가 1 인 행 반환
Example
Input matrix
0 1 1 1
0 0 1 1
1 1 1 1 // this row has maximum 1s
0 0 0 0
Output: 2
내 솔루션 이하 더 참조.
이 작업은 O(m*logn)
에서 이루어 지겠지만 선형 시간으로 수행 할 수 있는지에 대해서는 궁금합니다.
감사합니다.
그 행렬을 정렬하는 방법 경우 여러 행을 찾을 수
단계 O 소요 행 현명한? '0111'>'0011'이 아닌가요? – Dukeling
내가 말할 때, 행렬은 줄 단위로 정렬되고 각 행은 오름차순으로 정렬됩니다. –
왜 좌상단에서 걸을까요? 첫 번째는 가장 좋은 행입니다. –