2017-11-22 7 views
0

나는 비트 문자열 길이를 얻는 알고리즘을 작성하고 (적절한 변환 인 경우) 두 번 null을 포함하지 않는 모든 비트 문자열을 계산합니다.Double Null의 비트 문자열 검사

예 : "10101"은 계산되지만 "10010"은 계산되지 않습니다.

내 문제는 여기에, 내가 bitstring에 대한 올바른 데이터 형식을 모른다는, 아무도 도울 수 있습니까?

답변

0

"00"을 포함하지 않는 주어진 길이의 비트 열의 수를 찾고 싶습니까?

O (log (the_length)) 시간에이 작업을 수행 할 수 있습니다. 이것에 대한 좋은 알고리즘은 전혀 비트 문자열을 사용하지 않으므로 비트 문자열 데이터 유형은 필요하지 않습니다.

실제로 비트 문자열을 만들고 개수를 계산하려면 정수 나 1과 0의 문자열을 사용하는 것이 가장 쉽습니다. 당신의 언어는 아마도 문자열을 조작하고 이중 제로를 검사하는 것을 더 쉽게 만듭니다. 사용하는 데이터 유형에 관계없이 O (2^the_length) 시간이 걸릴 것입니다. 당신이 배우기 때문에 괜찮습니다.하지만 무엇이 문제가 되더라도 느리므로 가장 효율적인 표현을 선택하는 것에 대해 너무 걱정하지 마십시오.