3Pythonでの合計
これを解決するには、次の手順に従います-
- 配列番号を並べ替えて、配列解像度を定義します
- 0からnumsの長さの範囲のiの場合– 3
- i>0かつnums[i]=nums [i-1]の場合、次の部分をスキップして続行します
- l:=i + 1およびr:=numsの長さ– 1
- while l
- sum:=nums [i]、nums [l]、nums[r]の合計
- sum <0の場合、l:=l + 1、それ以外の場合、sum> 0の場合、r:=r – 1
- それ以外の場合は、nums [i]、nums [l]、nums[r]をres配列に挿入します
- while l
- lを1増やします
- r>0かつnums[r]=nums [r-1]
- rを1減らします
- lを1増やし、rを1減らします
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def threeSum(self, nums): nums.sort() result = [] for i in range(len(nums)-2): if i> 0 and nums[i] == nums[i-1]: continue l = i+1 r = len(nums)-1 while(l<r): sum = nums[i] + nums[l] + nums[r] if sum<0: l+=1 elif sum >0: r-=1 else: result.append([nums[i],nums[l],nums[r]]) while l<len(nums)-1 and nums[l] == nums[l + 1] : l += 1 while r>0 and nums[r] == nums[r - 1]: r -= 1 l+=1 r-=1 return result ob1 = Solution() print(ob1.threeSum([-1,0,1,2,-1,-4]))
[-1,0,1,2,-1,-4]
出力
[[-1,-1,2],[-1,0,1]]
-
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の値に置き換