Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 가장 긴 Uncommon Subsequence I


두 개의 문자열이 있다고 가정합니다. 우리는 이 두 문자열의 가장 길고 드문 부분 수열을 찾아야 합니다. 가장 길고 흔하지 않은 하위 시퀀스는 실제로 한 문자열의 가장 긴 하위 시퀀스이며 이 하위 시퀀스는 다른 문자열에 오면 안 됩니다. 그래서 우리는 가장 긴 드문 부분 수열의 길이를 찾아야 합니다. 가장 긴 uncommon 하위 시퀀스가 ​​존재하지 않으면 -1을 반환합니다.

따라서 입력이 "aabbac", "aabbcc"와 같으면 출력은 6이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다.

  • a가 b와 같으면 -

    • 반환 -1

  • 그렇지 않으면

    • 의 크기와 b의 크기 중 최대값을 반환

예시

더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   int findLUSlength(string a, string b) {
      if (a == b)
         return -1;
      else
         return max(a.size(), b.size());
   }
};
main(){
   Solution ob;
   cout << (ob.findLUSlength("aabbac","aabbcc"));
}

입력

"aabbac","aabbcc"

출력

6