목차
알고리즘
출력
결론
백엔드 개발 C++ 두 개의 연속된 0을 하나의 1로 반복적으로 대체하여 주어진 이진 문자열을 동일하게 만듭니다.

두 개의 연속된 0을 하나의 1로 반복적으로 대체하여 주어진 이진 문자열을 동일하게 만듭니다.

Sep 01, 2023 pm 03:13 PM
이진 문자열 마디 없는 교체를 반복

두 개의 연속된 0을 하나의 1로 반복적으로 대체하여 주어진 이진 문자열을 동일하게 만듭니다.

모든 프로그래밍 언어에서 이진 문자열은 문자 0과 1의 모음입니다. 각 단계에서 이진 문자열은 문자열에 이 두 문자만 포함될 수 있다는 접근 방식을 따릅니다.

연속된 문자열의 문자는 인덱스가 1씩 다른 문자입니다. 두 개의 인덱스 i와 j를 고려해 보겠습니다. |j-i| = 1이면 연속이라고 합니다.

C++에서 두 문자열이 동일하면 다음을 의미합니다.

  • 두 문자열의 해당 문자는 동일합니다.

  • 문자열은 길이가 같고 해당 인덱스의 문자가 일치합니다.

문제 설명을 설명하는 몇 가지 예는 다음과 같습니다. -

예제 예

str1 - "10001"

str2 - "101"

솔루션-

str1을 str2로 변환할 수 없습니다. 왜냐하면 str1을 변환하여 동등한 문자열 str2를 생성하는 과정에서 str1을 "1011"로, str2를 "101"로 얻게 되기 때문입니다.

예 2 - 다음 입력을 고려해 보겠습니다 −

str1 - "001"

str2 - "11"

솔루션-

str1은 처음 두 개의 0을 1로 변경하여 str2로 변환할 수 있습니다.

C++에서 문자 일치 및 문자열 탐색을 사용하여 다음 문제를 해결하세요.

알고리즘

  • 1단계 - 두 개의 포인터 i와 j는 문자열 s1과 s2를 동시에 반복하는 데 사용됩니다.

  • 2단계 - 두 인덱스의 문자가 일치하면 i 및 j 포인터를 증가시킵니다.

  • 3단계 − 문자가 같지 않으면 i번째와 (i+1)번째 인덱스의 문자가 '0'인지, j번째 인덱스의 문자가 '1'인지 확인합니다. '.

  • 4단계 - 이러한 상황이 발생하면 변환을 수행할 수 있습니다. i 포인터는 두 위치만큼 증가하고 j는 두 개의 0이 1로 변환되므로 한 인덱스 위치만큼 증가합니다.

  • 5단계 - 문자가 동일하지 않고 위의 상황이 존재하지 않는 경우 변환을 수행할 수 없습니다.

  • 6단계 − 포인터 i와 j가 모두 끝 위치에 성공적으로 도달하면 s1을 s2로 변환할 수 있습니다.

다음 코드 조각은 두 개의 이진 문자열을 입력으로 사용하고 지정된 조건에 따라 간단한 문자 대체를 통해 두 문자열이 동일할 수 있는지 확인합니다

으아악

출력

으아악

결론

이 방법은 입력 문자열을 문자별로 효율적으로 비교할 수 있으므로 시간 복잡도는 O(최소(문자열 길이))입니다. 문자열 순회는 문자열 문제를 해결하는 데 중요한 측면입니다.

위 내용은 두 개의 연속된 0을 하나의 1로 반복적으로 대체하여 주어진 이진 문자열을 동일하게 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

이진 문자열에서 증가하지 않는 가장 긴 하위 시퀀스 이진 문자열에서 증가하지 않는 가장 긴 하위 시퀀스 Sep 07, 2023 pm 11:13 PM

이 문제에서는 주어진 문자열에서 증가하지 않는 가장 긴 부분 수열을 찾아야 합니다. 증가하지 않는다는 것은 문자가 동일하거나 내림차순임을 의미합니다. 이진 문자열에는 "0"과 "1"만 포함되므로 결과 문자열은 "1"로 시작하고 "0"으로 끝나거나 "0" 또는 "1"로 시작하고 끝나야 합니다. 이 문제를 해결하기 위해 문자열의 각 위치에서 접두사 "1"과 접미사 "0"을 세고 접두사 "1"과 접미사 "0"의 최대 합을 찾습니다. 문제 설명 - 바이너리 문자열 str이 제공됩니다. 주어진 문자열에서 증가하지 않는 가장 긴 부분 수열을 찾아야 합니다. 예 입력–str="010100"Output–4는 가장 긴 비재귀를 보여줍니다.

C++로 작성되어 1로 시작하는 이진 문자열의 고유 순열 수를 찾습니다. C++로 작성되어 1로 시작하는 이진 문자열의 고유 순열 수를 찾습니다. Sep 05, 2023 am 09:01 AM

주어진 문제에서는 0과 1로 구성된 문자열이 주어집니다. 1로 시작하는 모든 순열의 총 개수를 찾아야 합니다. 대답은 엄청난 숫자일 수 있으므로 모듈로 1000000007을 가져와 출력합니다. Input:str="10101001001"Output:210Input:str="101110011"Output:56 우리는 몇 가지 조합 수학을 적용하고 몇 가지 공식을 설정하여 이 문제를 해결할 것입니다. 풀이 방법 이 방법에서는 0과 1의 개수를 세어보겠습니다. 이제 n이 문자열에 나타나는 1의 수이고 m이 문자열에 나타나는 0의 수라고 가정합니다.

PHP에서 pack() 함수의 기능은 데이터를 이진 문자열로 변환하는 것입니다. PHP에서 pack() 함수의 기능은 데이터를 이진 문자열로 변환하는 것입니다. Aug 31, 2023 pm 02:05 PM

pack() 함수는 데이터를 이진 문자열로 압축합니다. 구문 pack(format,args) 매개변수 format - 사용할 형식입니다. 다음은 가능한 값입니다. - a - NUL 패딩 문자열 A - 공백 패딩 문자열 h - 16진수 문자열, 낮은 니블 먼저 H - 16진수 문자열, 높은 니블 먼저 c - 부호 있는 문자 C - 부호 없는 문자 s - 부호 있는 짧은(항상 16비트) , 머신 바이트 순서) S - unsigned short(항상 16비트, 머신 바이트 순서) n - unsigned short(항상 16비트, big endian 바이트 순서) v - unsigned short(항상 16비트, little endian 바이트 순서) i - 부호 있는 정수 (머신 크기 및 바이트 순서에 따라 다름) I - 없음 부호 있는 정수(머신 크기 및 바이트 순서에 따라 다름)

마우스 드라이버 소프트웨어를 열어 두어야 합니까? 마우스 드라이버 소프트웨어를 열어 두어야 합니까? Feb 19, 2024 pm 10:40 PM

마우스 드라이버는 항상 켜져 있어야 합니까? 마우스는 일상적인 컴퓨터 사용에 없어서는 안 될 입력 장치 중 하나입니다. 하드웨어 자체의 품질 외에도 마우스 드라이버도 마우스의 정상적인 작동에 핵심입니다. 그러나 많은 사람들은 마우스 드라이버의 역할과 필요성, 특히 마우스 드라이버를 항상 켜야 하는지에 대해 몇 가지 질문을 합니다. 먼저, 마우스 드라이버가 하는 일을 이해해야 합니다. 마우스 드라이버는 마우스 움직임, 클릭 및 스크롤을 식별하고 제어하기 위해 운영 체제와 통신하는 것이 주요 임무인 소프트웨어 프로그램입니다. 마우스 드라이버는

이진 문자열에서 동일하지 않은 문자가 있는 인덱스의 문자 쌍을 교환하여 문자열이 회문 문자열을 형성할 수 있는지 확인합니다. 이진 문자열에서 동일하지 않은 문자가 있는 인덱스의 문자 쌍을 교환하여 문자열이 회문 문자열을 형성할 수 있는지 확인합니다. Sep 02, 2023 pm 08:09 PM

문제 설명 문자열 str과 이진 문자열 B가 있습니다. 두 문자열의 길이는 N과 같습니다. 문자열 B에서 동일하지 않은 문자를 포함하는 인덱스 쌍에서 해당 문자를 여러 번 교환하여 문자열 str을 회문 문자열로 만들 수 있는지 확인해야 합니다. 예 예 입력 str='AAS' B='101' 출력 'YES' 설명의 중국어 번역은 다음과 같습니다. 설명 B[1]과 B[2]가 동일하지 않기 때문에 str[1]과 str[2]를 교환할 수 있습니다. . 최종 문자열은 'ASA'일 수 있습니다. str='AASS' B='1111'을 입력하고 'No'를 출력합니다. 설명의 중국어 번역은 다음과 같습니다. 문자열 회문을 만들 수 없다는 설명,

주어진 바이너리 문자열에서 동일한 길이의 부분 문자열을 선택하여 주어진 기능을 최대화하십시오. 주어진 바이너리 문자열에서 동일한 길이의 부분 문자열을 선택하여 주어진 기능을 최대화하십시오. Aug 28, 2023 am 09:49 AM

동일한 길이의 두 이진 문자열 str1과 str2가 주어지면 주어진 동일한 길이의 문자열에서 부분 문자열을 선택하여 주어진 함수 값을 최대화해야 합니다. 주어진 함수는 다음과 같습니다 - fun(str1,str2)=(len(substring))/(2^xor(sub1,sub2)). 여기서 len(substring)은 첫 번째 부분 문자열의 길이이고 xor(sub1,sub2)는 주어진 부분 문자열의 XOR입니다. 이는 이진 문자열이므로 가능합니다. 예:Input1:stringstr1=10110&stringstr2=11101Output:3은 다음을 보여줍니다.

부분 문자열을 반복적으로 연결한 길이 N의 이진 문자열을 계산합니다. 부분 문자열을 반복적으로 연결한 길이 N의 이진 문자열을 계산합니다. Sep 07, 2023 am 10:13 AM

이 기사의 목적은 부분 ​​문자열의 반복된 연결로 형성된 길이 N의 이진 문자열 수를 계산하는 프로그램을 구현하는 것입니다. 목표는 주어진 텍스트의 개별 하위 문자열을 반복적으로 연결하여 길이 N의 이진 문자열을 얼마나 많이 생성할 수 있는지 결정하는 것입니다. 여기서 N은 양의 정수입니다. 문제 설명 부분 문자열을 반복적으로 연결하는 길이 N의 이진 문자열 수를 세는 프로그램을 구현하십시오. 예 예 1 입력, N = 3 출력: 2 설명의 중국어 번역은 다음과 같습니다. 설명 다음은 길이 N = 3의 실행 가능한 이진 문자열을 나열하며, 여기서 하위 문자열은 반복적으로 연결됩니다. "000":하위 문자열

이진 문자열에서 1 앞에 0을 모두 배치하는 데 필요한 최소 이동 횟수 이진 문자열에서 1 앞에 0을 모두 배치하는 데 필요한 최소 이동 횟수 Sep 23, 2023 pm 01:29 PM

문제 설명 바이너리 문자열 str이 주어지고 1 앞에 0을 모두 배치할 수 있도록 문자열에서 최소 문자를 제거해야 합니다. 입력 예 str='00110100111' 출력 3 설명 여기서는 두 가지 방법으로 출력 3을 얻을 수 있습니다. 문자열에서 arr[2], arr[3] 및 arr[5] 또는 arr[4], arr[6] 및 arr[7]을 제거할 수 있습니다. 입력 str='001101011' 및 출력 2는 arr[4] 및 arr[6]을 삭제하고 1 앞에 모두 0을 넣을 수 있음을 보여줍니다. 입력 str='000111' 출력 0은 주어진 문자열에서 모든 0이 1 앞에 배치되었으므로 처음부터 시작할 필요가 없음을 의미합니다.

See all articles