2419. 최대 비트 단위 AND
를 사용하는 가장 긴 하위 배열난이도:중
주제:배열, 비트 조작, 수수께끼
n 크기의 정수 배열 num이 제공됩니다.
최대가능한비트 AND를 갖는 숫자의비어 있지 않은하위 배열을 고려해보세요.
해당 하위 배열가장 긴길이를 반환합니다.
배열의 비트 AND는 배열에 있는 모든 숫자의 비트 AND입니다.
하위 배열은 배열 내 연속된 요소 시퀀스입니다.
예 1:
예 2:
제약조건:
힌트:
해결책:
먼저 문제를 단계별로 분석해 보겠습니다.
비트 AND 속성:
목표:
입력 배열 [1,2,3,3,2,2]의 경우 최대값은 3입니다. 3개만 있는 가장 긴 연속 하위 배열은 [3,3]이며 길이는 2입니다.
이 솔루션을 PHP로 구현해 보겠습니다:2419. 최대 비트 단위 AND
를 포함하는 가장 긴 하위 배열
설명:
- 1단계: 먼저 PHP에 내장된 max() 함수를 사용하여 배열에서 최대값을 찾습니다.
- 2단계: 가장 긴 하위 배열의 길이를 저장하는 $maxLength와 최대값의 현재 연속 하위 배열의 길이를 추적하는 $currentLength라는 두 변수를 초기화합니다.
- 3단계: 배열 전체를 반복합니다.
- 현재 숫자가 최대값과 같으면 현재 하위 배열의 길이를 늘립니다.
- 현재 숫자가 최대값과 같지 않으면 현재 하위 배열이 지금까지 가장 긴지 확인하고 길이를 재설정합니다.
- 최종 단계: 루프 후에 가장 긴 하위 배열이 배열의 끝에 있는지 확인합니다.
- 마지막으로 최대값만 포함하는 가장 긴 하위 배열의 길이를 반환합니다.
시간 복잡도:
예상대로 입력 [1, 2, 3, 3, 2, 2]의 경우 출력은 2이고 [1, 2, 3, 4]의 경우 출력은 1입니다.
이 솔루션은 제약 조건을 처리하고 문제를 효율적으로 해결합니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
위 내용은 최대 비트별 AND를 갖는 가장 긴 하위 배열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!