C++での長押しの名前
男性がキーボードで名前を入力しているとします。一部のボタンを誤って長押しすることがあります。したがって、1つ以上の余分な文字を入力する場合があります。そこで、2つの文字列を取得し、2番目の文字列が長押しされた名前であるかどうかを確認します。したがって、名前が「Amit」で、2番目の文字列が「Ammittt」の場合、長押しの名前になります。しかし、キャラクターiがここにいないため、「Ammttt」はそうではありません。
これを解決するには、次の手順に従います-
- let j:=0
- for i:=0、i
- j
- j
例
理解を深めるために、次の実装を見てみましょう-
#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
-
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; &
-
なぜC/C ++で修飾子を使用するのですか?
修飾子は、必要に応じて機能するように、基本タイプの意味を変更するために使用されます。たとえば、時間を負にすることはできず、符号なしにするのは理にかなっています。 C ++では、char、int、およびdoubleデータ型の前に修飾子を付けることができます。データ型修飾子はここにリストされています- 署名済み 署名なし 長い 短い 符号付き、符号なし、long、およびshortの修飾子は、整数の基本型に適用できます。さらに、signedとunsignedはcharに適用でき、longはdoubleに適用できます。 符号付きおよび符号なしの修飾子は、長すぎるまたは短すぎる修飾子のプレフィッ