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

맨 왼쪽에 처음 나타나는 반복 문자

PHPz
풀어 주다: 2023-08-31 18:05:05
앞으로
1126명이 탐색했습니다.

맨 왼쪽에 처음 나타나는 반복 문자

简介

在本教程中,我们将开发一种方法来查找字符串中首次出现在最左边的重复字符。这意味着该字符首先出现在字符串的开头。为了确定第一个字符是否重复,我们遍历整个字符串并将每个字符与字符串的第一个字符进行匹配。为了解决这个任务,我们使用 C++ 编程语言的 find()、length() 和 end() 函数。

示例 1

String = “Tutorialspoint”
로그인 후 복사
Output = The repeating character is “t”
로그인 후 복사

在上面的示例中,输入字符串“tutorialspoint”最左边的字符是“t”,并且该字符在字符串中重复。

示例 2

String = “abcaabb”
로그인 후 복사
Output = The repeating character is “a”
로그인 후 복사

在上面的示例中,"a"是输入字符串的最左边的字符,并且在字符串的其他部分中也出现。因此,输出为"a"。

Example 3

的翻译为:

示例3

String = “programming”
로그인 후 복사
Output = No repeating character.
로그인 후 복사

在上面的示例中,输入字符串最左边的字符是“p”,并且它在字符串中的任何位置都不会重复。因此,输出是无重复字符。

  • find() − 它是一个字符串类函数,返回子字符串中重复值的索引值。

语法

find(char)
로그인 후 복사
  • length() − 它是一个字符串类的函数,用于返回字符串的长度。

语法

string_name.length()
로그인 후 복사
  • end() − 它是一个库函数,返回容器最后一个元素的迭代器值。

算法

  • 选择您选择的输入字符串。

  • 遍历整个字符串并将其字符保存在unordered_map中。

  • 将字符串的第一个字符与地图中保存的字符进行比较。

  • 检查是否有任何字符串字符与保存的字符匹配。

  • 打印输出。

示例

为了对上面列出的示例之一进行编码,我们在 C++ 中使用强力方法将每个字符与输入字符串中最左边的字符进行匹配。实现中使用的C++函数如下 -

#include <iostream>
#include <unordered_map>

using namespace std;

char findLeftmostRepeatedChar(string s){
   unordered_map<char, int> charMap;

   // Traverse the string from left to right
   for (int x = 0; x < s.length(); x++) {
      char ch = s[x];

      // If the character is already in the map, return it
      if (charMap.find(ch) != charMap.end()) {
         return ch;
      } else {
         // Otherwise, add the character to the map
         charMap[ch] = x;
      }
   }
   // If no character is repeated, return '\0'
   return '\0';
}
int main() {
   string s = "tutorialspoint";
   char leftmostRepeatedChar = findLeftmostRepeatedChar(s);

   if (leftmostRepeatedChar != '\0'){
      cout << "The leftmost repeated character in "" << s << "" is '" << leftmostRepeatedChar << "'" << endl;
   } 
   else{
      cout << "There are no repeated characters in "" << s << """ << endl;
   }
   return 0;
}
로그인 후 복사

输出

The leftmost repeated character in  << s <<  is 't'
로그인 후 복사

结论

在本文中,我们开发了一种基于 C++ 的方法来查找输入字符串中最左边的重复字符。我们用一些例子来解释任务的含义。为了实现其中一个示例,我们使用了一些 C++ 库函数。我们将给定字符串的第一个字符与字符串的所有剩余字符进行比较。

위 내용은 맨 왼쪽에 처음 나타나는 반복 문자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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