> 백엔드 개발 > C++ > 본문

C 언어에서 문자열에서 동일한 두 문자 사이의 최대 문자 수

王林
풀어 주다: 2023-09-17 20:53:02
앞으로
1219명이 탐색했습니다.

C 언어에서 문자열에서 동일한 두 문자 사이의 최대 문자 수

우리는 일련의 문자를 받습니다. 배열에는 동일한 문자가 두 개 이상 있습니다. 여기서의 작업은 두 개의 동일한 문자 사이의 최대 문자 수를 찾는 것입니다. 중복된 문자가 없으면 -1이 반환됩니다.

Input - 문자열 str = "abcdba"

Output - 문자열에서 동일한 두 문자 사이의 최대 문자 수 - 4

Explanation - 유일하게 반복되는 문자는 'a'와 'b입니다. ', 해당 인덱스는 -

1. 2‘a’ first index 0 last 5 , characters in between 5-0-1=4
2. ‘b’ first index 1 last 4 , characters in between 4-1-1=2
   Maximum character in between repeating alphabets : 4
로그인 후 복사

input - string str = "AbcAaBcbC"

output - 문자열에서 동일한 두 문자 사이의 최대 문자 수 - 5

explanation - 반복되는 문자는 다음과 같습니다. 'A', 'b', 'c' 및 해당 인덱스는 다음과 같습니다.

1. ‘A’ first index 0 last 3 , characters in between 3-0-1=2
2. ‘b’ first index 1 last 7 , characters in between 7-1-1=5
3. ‘c’ first index 2 last 6 , characters in between 6-2-1=3
   Maximum character in between repeating alphabets : 5
로그인 후 복사

Note − 입력 문자열이 "abcdefg"인 경우 반복되는 문자가 없으므로 함수는 -1을 반환합니다.

다음 프로그램에서 사용한 방법은 다음과 같습니다

  • 문자 배열을 사용하여 문자열 Str[]을 저장합니다.

  • 함수 maxChars(char str[],int n)을 사용하여 차이를 계산합니다. 두 개의 반복 문자 사이의 최대 문자 수입니다.

  • 변수 maxC를 -1로 초기화합니다.

  • for 루프의 문자열 시작 부분부터 배열을 탐색합니다.

  • 중첩된 for 루프의 나머지 문자를 반복하고 중복 문자를 검색합니다(str[i] == str[j]인 경우).

  • true이면 인덱스를 빼서 문자 간의 차이를 계산합니다(temp = j - i - 1).

  • 이 값이 지금까지 발견된 최대값이라면 maxC에 저장하세요.

  • 전체 문자열을 순회한 후 maxC를 반환합니다.

Example

Demonstration

#include <stdio.h>
#include <stdio.h>
#include <math.h>
int maxChars(char str[],int n){
   int size = n;
   int maxC = -1;
   for (int i = 0; i < n - 1; i++)
      for (int j = i + 1; j < n; j++)
         if (str[i] == str[j]){
            int temp=abs(j-i-1);
            maxC = maxC>temp?maxC:temp;
         }
   return maxC;
}
// Driver code
int main(){
   char Str[] = "AbcAaBcbC";
   printf("Maximum number of characters between any two same character in a string :%d",
   maxChars(Str,9) );
   return 0;
}
로그인 후 복사

Output

위 코드를 실행하면 다음과 같은 출력이 생성됩니다. −

Maximum number of characters between any two same character in a string : 5
로그인 후 복사

위 내용은 C 언어에서 문자열에서 동일한 두 문자 사이의 최대 문자 수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿