C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での長押しの名前


男性がキーボードで名前を入力しているとします。一部のボタンを誤って長押しすることがあります。したがって、1つ以上の余分な文字を入力する場合があります。そこで、2つの文字列を取得し、2番目の文字列が長押しされた名前であるかどうかを確認します。したがって、名前が「Amit」で、2番目の文字列が「Ammittt」の場合、長押しの名前になります。しかし、キャラクターiがここにいないため、「Ammttt」はそうではありません。

これを解決するには、次の手順に従います-

  • let j:=0
  • for i:=0、i
  • j
  • j =actual_name.sizeの場合はtrueを返し、それ以外の場合はfalseを返します
  • 理解を深めるために、次の実装を見てみましょう-

    #include <bits/stdc++.h>
    using namespace std;
    class Solution {
       public:
       bool isLongPressedName(string name, string typed) {
          int j = 0;
          for(int i = 0; i < typed.size(); i++){
             if(j < name.size() && name[j] == typed[i])j++;
          }
          return j == name.size();
       }
    };
    main(){
       Solution ob;
       string res = ob.isLongPressedName("Amit", "Ammittt") ? "true" :
       "false";
          cout << res;
    }

    入力

    "Amit"
    "Ammittt"

    出力

    true

    1. C ++ STLのlldiv()関数

      C ++ STLのlldiv()関数は、商と2つの数値の除算の余りの結果を提供します。 アルゴリズム Begin Take two long type numbers as input. Call function lldiv(). Print the quotient and remainder. End. サンプルコード #include <cstdlib> #include <iostream> using namespace std; int main() {    long long q = 500LL;   &

    2. なぜC/C ++で修飾子を使用するのですか?

      修飾子は、必要に応じて機能するように、基本タイプの意味を変更するために使用されます。たとえば、時間を負にすることはできず、符号なしにするのは理にかなっています。 C ++では、char、int、およびdoubleデータ型の前に修飾子を付けることができます。データ型修飾子はここにリストされています- 署名済み 署名なし 長い 短い 符号付き、符号なし、long、およびshortの修飾子は、整数の基本型に適用できます。さらに、signedとunsignedはcharに適用でき、longはdoubleに適用できます。 符号付きおよび符号なしの修飾子は、長すぎるまたは短すぎる修飾子のプレフィッ