C++で指定された文字列から可能な長さnのサブ文字列の数
文字列str[]と数値nが与えられます。目標は、長さがnであるstr[]のすべてのサブストリングを見つけることです。文字列が「abcde」でn=3の場合、長さ3のサブ文字列は「abc」、「bcd」、「cde」であり、カウントは3です。
例を挙げて理解しましょう。
入力 − str [] =“ computer” n =4
出力 −指定された文字列から可能な長さnの部分文字列の数は− 5
説明 −長さ4の部分文字列は、「comp」、「ompu」、「mput」、「pute」、「uter」です。
入力 − str [] =“ development” n =5
出力 −指定された文字列から可能な長さnの部分文字列の数は− 7
説明 −長さ5のサブストリングは、「devel」、「evelo」、「velop」、「elopm」、「lopme」、「opmen」、「pment」です。
以下のプログラムで使用されているアプローチは次のとおりです
文字列str[]の長さをLとすると、str[]内の長さnの部分文字列の数はLn+1になります。文字列が「abcdefghi」でnが4の場合、サブ文字列は「abcd」、「bcde」、「cdef」、「defg」、「efgh」、「fghi」になります。カウントは6です。また9-4+1=6です。
-
文字列strを取ります。
-
nを整数とします。
-
関数possible_substring(string str、int length、int n)は文字列を受け取り、その長さはnであり、長さがnのstrの部分文字列の数を返します。
-
可変カウントを取ります。
-
count =length-n+1を設定します。
-
最後に結果としてカウントを返します。
例
#include <bits/stdc++.h> using namespace std; int possible_substring(string str, int length, int n){ int count = length - n + 1; return count; } int main(){ string str = "learning"; int length = str.length(); int n = 2; cout<<"Count of substrings of length n possible from the given string are: "<<possible_substring(str, length, n); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Count of substrings of length n possible from the given string are: 7
-
C++のグリッドで指定された方向に可能な移動をカウントします
サイズnxmのグリッドと開始点x、yを表す2つの変数nとmです。 また、移動((1,1)、(2,2))などとしてグリッド内を移動するために実行できるステップ/移動のペアも指定されます。移動の各ペアは、x、y軸で実行されるステップの単位を表します。目標は、境界[1、n] X [1、m]内のグリッド内をトラバースするために実行できる合計ステップを見つけることです。nが5、mが4、現在の位置が2、2で、選択されたステップが( 1、-1)次に、このステップを1回実行すると、(3,1)になります。このステップを再度実行すると、(4、-1)になります。これは、-1が範囲外であるため無効です。 例
-
C++で指定されたサイズの長方形内で可能な菱形の数を数えます
高さX幅の寸法の長方形が与えられます。長方形は、点(0,0)を左下隅に持つ2D座標系で表されます。したがって、目標は、これらすべての条件が満たされるように、この長方形内で可能な菱形の数を数えることです- ひし形の面積は0を超えています。 ひし形の対角線はx軸とy軸に平行です。 ひし形には、すべてのコーナーの整数座標があります。 例を挙げて理解しましょう 入力 −長さ=3幅=3 出力 −指定されたサイズの長方形内で可能な菱形の数は次のとおりです。4 説明 −下の図には、height =width=3の長方形があります。また、面積が0を超え、対角線が両方の軸に平行(