4PythonのSumII
整数値の4つのリストA、B、C、Dがあるとすると、A [i ] + B [j] + C [k] +D[l]はゼロです。すべてのA、B、C、Dが同じ長さのNを持ち、0≤N≤500であると考えます。すべての整数が-228から228-1の範囲にあり、結果が最大で231-1になることが保証されていることを覚えておいてください。入力はA=[1、2]、B =[-2、-1]、C =[-1、2]、D =[0、2]であり、出力は2になります。 2つのタプル、それらは(0、0、0、1)であるため、A [0] + B [0] + C [0] + D [1] =1 +(-2)+(-1)+ 2 =0 、および別のタプルは(1、1、0、0)、A [1] + B [1] + C [0] + D [0] =2 +(-1)+(-1)+ 0 =0
これを解決するには、次の手順に従います-
- 合計と呼ばれる1つのマップを作成します
- Aの各要素iについて
- Bの各要素jについて
- i + jが合計マップにない場合は、sums [i + j]:=1 を設定します。
- それ以外の場合は、合計の値を増やします[i + j]
- Bの各要素jについて
- カウンター:=0
- Cの各要素iについて
- Dの各要素jについて
- 合計が(-1)*(i + j)の場合、counter:=counter + sums [-1 *(i + j)]
- Dの各要素jについて
- リターンカウンター
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def fourSumCount(self, A, B, C, D): sums ={} for i in A: for j in B: if i+j not in sums: sums[i+j] = 1 else: sums[i+j] +=1 counter = 0 for i in C: for j in D: if -1 * (i+j) in sums: #print(-1 * (i+j)) counter+=sums[-1*(i+j)] return counter ob1 = Solution() print(ob1.fourSumCount([1,2], [-2,-1], [-1,2], [0,2]))
入力
[1,2] [-2,-1] [-1,2] [0,2]
出力
2
-
Pythonのissuperset()
この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',
-
PythonでのQuine
Quineは、入力を受け取らないプログラムですが、出力を生成します。独自のソースコードが表示されます。さらに、Quineにはいくつかの条件があります。プログラム内でソースコードファイルを開くことができません。 サンプルコード a=a=%r;print (a%%a);print (a%a) 出力 a=a=%r;print (a%%a);print (a%a) このクワインはどのように機能していますか? ここでは、単純な文字列フォーマットが機能しています。変数「a」を定義し、a内に「a =%r; print(a %% a)」を格納します。次に、aの値を出力し、%rをaの値に置き換