-
C++でのミーティングスケジューラ
eのいずれかです。したがって、入力がs1 =[[10,50]、[60,120]、[140,210]]、s2 =[[0,15]、[60,70]]、期間=8の場合、出力は[ 60,68]。 これを解決するには、次の手順に従います- i:=0およびj:=0、1つの配列ansを作成し、s1およびs2を並べ替えます。 whilei
-
C++で奇妙なコインを投げる
コインがあるとします。 i番目のコインは投げられたときに頭に面する確率確率を持っています。すべてのコインを1回だけ投げた場合、頭に面しているコインの数が目標と等しくなる確率を示す必要があります。したがって、prob配列が[0.5,0.5,0.5,0.5,0.5]のようで、targetが0の場合、出力は0.03125になります。 これを解決するには、次の手順に従います- n:=確率配列のサイズ サイズnx(ターゲット+ 5)の2次元配列を1つ作成します set dp [0,0] =1 – prob[0]およびdp[0,1]:=prob [0] 1からn–1の範囲のiの場合 dp [i
-
C++のファイルシステムからサブフォルダを削除する
フォルダのリストがあるとすると、それらのフォルダ内のすべてのサブフォルダを削除し、削除後に任意の順序でフォルダを返す必要があります。ここで、folder[i]が別のfolder[j]内にある場合、そのサブフォルダーとして示されます。パスはfolder1/subfolder2/…などのようになります。 入力が次のようであると仮定します ["/myfolder","/myfolder/secondfolder","/another/document","/another/document/extrafolder",&
-
Range Sum Query2D-C++では不変
matrixと呼ばれる2D行列があるとすると、(row1、col1)を使用して左上隅で定義され、(row1、col1)を使用して右下隅で定義される長方形内の要素の合計を見つける必要があります。 row2、col2)。 したがって、行列が-のような場合 3 0 1 4 2 5 6 3 2 1 1 2 0 1 5 4 1 0 1 7 1 0 3 0 5 上記の長方形で、(2,1)と(4,3)で定義された青色で、合計8が含まれています。 したがって、sumRegion(
-
C++の辞書式順序
整数nがあるとします。辞書式順序で1からnを返す必要があります。したがって、たとえば13が指定された場合、出力は[1、10、11、12、13、2、3、4、5、6、7、8、9]になります。 これを解決するには、次の手順に従います- サイズnの1つの配列retを定義します curr:=1 0からn–1の範囲のiの場合 ret [i]:=curr curr * 10 <=nの場合、curr:=curr * 10を設定します それ以外の場合 =nの場合、curr:=curr / 10 currを1増やします currは10で割り切れますが、
-
C++で繰り返されるDNA配列
DNA配列があるとします。ご存知のように、すべてのDNAは、A、C、G、Tなどの省略された一連のヌクレオチドで構成されています(例:「ACGAATTCCG」)。 DNAを研究しているとき、DNA内の反復配列を特定することが役立つ場合があります。 DNA分子に複数回出現する10文字の長さのシーケンス(サブストリング)をすべて見つけるには、1つのメソッドを作成する必要があります。 したがって、入力が「AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT」の場合、出力は[AAAAACCCCC、CCCCCAAAAA]になります。 これを解決するには、次の手順に従います- 配列r
-
C++での数値範囲のビットごとのAND
範囲[m、n]があり、0 <=m <=n<=2147483647であるとします。この範囲内のすべての数値のビットごとのANDを見つける必要があります。したがって、範囲が[5、7]の場合、結果は4になります。 これを解決するには、次の手順に従います- i:=0 mがnでない場合、 m:=m / 2、n:=n / 2、iを1増やします 左にi回シフトした後、mを返します。 例(C ++) 理解を深めるために、次の実装を見てみましょう- #include <bits/stdc++.h> using namespace std; class Soluti
-
C++のDuplicateIIIが含まれています
整数の配列があるとすると、nums[i]とnums[j]の絶対差が大きくなるように、配列に2つの異なるインデックスiとjがあるかどうかを確認する必要があります。はせいぜいtです。そして、iとjの絶対差は最大でkです。したがって、入力が[1,2,3,1]のようである場合、k=3およびt=0の場合、trueを返します。 これを解決するには、次の手順に従います- セットを作成しますs、n:=nums配列のサイズ 0からn–1の範囲のiの場合 xは、nums[i]以上で始まる集合要素のインデックスです xがx<=nums [i] + tのセットと値の範囲内にない場合は、tru
-
C++の長方形領域
2D平面内の2つの直線状の長方形で覆われる総面積を求めたいとします。ここで、各長方形は、図に示すように、左下隅と右上隅によって定義されます。 これを解決するには、次の手順に従います- =HまたはD<=Fの場合、 return(C – A)*(D – B)+(G – E)*(H – F) 配列hを定義し、A、C、E、Gをhに挿入します 配列vを定義し、B、D、F、Hをvに挿入します h配列の並べ替えとv配列の並べ替え temp:=(h [2] – h [1])*(v [2] – v [1]) 合計:=temp 合計:=合計+(C – A
-
C++のマジョリティエレメントII
整数配列が1つあるとします。 n/3のフロアよりも多く表示される要素を見つける必要があります。ここで、nは配列のサイズです。 したがって、入力が[1,1,1,3,3,2,2,2]の場合、結果は[1,2]になります。 これを解決するには、次の手順に従います- 最初の:=0、2番目の:=1、cnt1:=0、cnt2:=0、n:=配列番号のサイズ 0からn–1のサイズのiの場合 x:=nums [i] xが最初の場合、cntを1増やします それ以外の場合、xが2番目の場合は、cnt2を1増やします それ以外の場合、cnt1が0の場合、最初にxおよびcnt1:
-
C++で括弧を追加するさまざまな方法
一連の数値と演算子があるとすると、数値と演算子をグループ化するためのさまざまな可能な方法をすべて計算することで、考えられるすべての結果を見つける必要があります。ここで、有効な演算子は+、-、および*です。したがって、入力が「2 * 3-4 * 5」の場合、出力は[-34、-14、-10、-10、10]になります。これは- (2 *(3-(4 * 5)))=-34 ((2 * 3)-(4 * 5))=-14 ((2 *(3-4))* 5)=-10 (2 *((3-4)* 5))=-10 (((2 * 3)-4)* 5)=10 これを解決するには、次の
-
C++の単一番号III
配列があるとすると、2つの要素が1回だけ表示されますが、他の要素は2回表示されます。したがって、これら2つの数値を見つける関数を定義する必要があります。したがって、指定された配列が[1,2,3,1,5,2]のような場合、出力は[3、5]になります。 これを解決するには、次の手順に従います- xor_res:=0 0からnumsのサイズの範囲のiの場合 xor_res:=xor_res XOR nums [i] pos:=0 xor_res AND 2 ^ pos =0、do、 位置を1増やします num1:=0 0からnumsの
-
C++の醜い数II
n番目の醜い数を見つけなければならないので、それを見つけることができるメソッドを定義する必要があるとします。醜い数は素因数が2、3、5しかない数であることがわかっているので、10番目の醜い数を見つけたい場合、最初のいくつかの醜い数は1、2、3であるため、12になります。 4、5、6、8、9、10、12 これを解決するには、次の手順に従います- サイズn+1の配列vを作成します n =1の場合、1を返します 2:=2、3=3および5=5、towIndex:=2、threeIndex:=2およびfiveIndex:=2 2からnの範囲のiの場合 curr:=2、
-
C++のH指数
研究者の引用の配列(引用は非負の整数)があるとします。研究者のh指数を計算する関数を定義する必要があります。 h指数の定義によると、「科学者は、N個の論文のh個にそれぞれ少なくともh個の引用があり、他のN −h個の論文にはそれぞれh個以下の引用がある場合に指数hを持ちます。」 したがって、入力がcitations =[3,0,6,1,7]の場合、出力は3になります。これは、研究者が5つの論文を持っていることを示しているため、3、0、6、1、7の引用があります。それぞれ。研究者は、それぞれ3回以上の引用がある3つの論文と、それぞれ3つ以下の引用がある残りの2つの論文を持っているため、h指数は3
-
C++のH指数II
研究者の引用の配列(引用は非負の整数)があるとします。これらの番号は、降順ではない順序で並べ替えられます。研究者のh指数を計算する関数を定義する必要があります。 h指数の定義によると、「科学者は、N個の論文のh個にそれぞれ少なくともh個の引用があり、他のN −h個の論文にはそれぞれh個以下の引用がある場合に指数hを持ちます。」 したがって、入力がcitations =[0,1,4,5,6]の場合、出力は3になります。これは、研究者が5つの論文を持っていることを示しているため、0、1、4、5、6の引用があります。それぞれ。研究者は、それぞれ4回以上の引用がある3つの論文と、それぞれ4つ以下の引
-
C++での加算数
「0」から「9」までの数字のみを含む文字列があるとすると、それが加算数であるかどうかを判別する関数を作成する必要があります。加法番号は、数字が加法シーケンスを形成できる文字列です。有効な加算シーケンスには、少なくとも3つの数値が含まれている必要があります。ここでは、最初の2つの数字を除いて、シーケンス内の後続の各数字は、前の2つの数字の合計でなければなりません。したがって、入力が「112358」のような場合、2 =1 + 1、3 =1 + 2、5 =2 + 3、8 =3 + 5のように、答えは真になります。 これを解決するには、次の手順に従います- ok()というメソッドを定義します。
-
C++での単語の長さの最大積
wordsという文字列配列があるとします。length(word [i])* length(word [j])の最大値を見つけます。ここで、2つの単語は共通の文字を共有しません。各単語には小文字のみが含まれると想定できます。そのような2つの単語が存在しない場合は、0を返します。したがって、入力が[“ abcw”、“ baz”、“ foo”、“ bar”、“ xtfn”、“ abcdef”]の場合、出力は16になります。 2つの単語は「abcw」、「xtfn」の場合があります。 これを解決するには、次の手順に従います- getRev()というメソッドを定義します。これはxを入力として受け
-
C++で旅程を再構築する
[from、to]のような出発空港と到着空港のペアで表される航空券のリストがあるとすると、旅程を順番に再構築する必要があります。すべてのチケットは、JFKを出発する男性のものです。したがって、旅程はJFKで始まる必要があります。 したがって、入力が[[MUC、 LHR]、[JFK、 MUC]、[SFO、 SJC]、[LHR、 SFO]]の場合、出力は[JFK、 MUC、 LHR、 SFO、SJC]になります。 これを解決するには、次の手順に従います- 配列retとグラフと呼ばれるマップを定義します。 visitというメソッドを定義します。これは入力として空港名を取ります
-
C++での整数ブレーク
正の整数nがあるとすると、それを少なくとも2つの正の数の合計に分割し、それらの整数の積を最大化する必要があります。入手できる最大の製品を見つける必要があります。したがって、数値が10の場合、答えは36になります。たとえば、10 =3 + 3 + 4、3 * 3 * 4 =36 これを解決するには、次の手順に従います- メソッドsolve()を定義します。これには、n、配列dp、およびフラグが必要です。 nが0の場合、1を返します dp [n]が-1でない場合は、dp [n]を返します。 end:=n –フラグが設定されている場合は1、それ以外の場合はn re
-
C++で一意の桁を持つ数を数える
非負の整数nがあるとします。一意の数字xを持つすべての数値をカウントする必要があります。xは0〜10^nの範囲です。したがって、数値nが2の場合、11、22、33、44、55、66、77、88、99なしで0から100までの数値を検索するため、結果は91になります。 これを解決するには、次の手順に従います- nが0の場合、1を返します n:=最小10およびn nが1の場合、10を返します ans:=9およびret:=10 2からnの範囲のiの場合 ans:=ans *(9 – i + 2) ret:=ret + ans retを返す