Pythonの最初の悪いバージョン
ある会社で、ある製品マネージャーが新製品を開発するチームを率いているとします。最新バージョンが品質チェックに失敗したとします。各バージョンは前のバージョンに基づいて開発されているため、不良バージョン以降のすべてのバージョンが不良になります。したがって、n個の要素[1、2、…n]を持つ配列Aがあり、この配列から最初の不良バージョンを見つける必要があります。
関数isBadVersion(version_id)があるとすると、これはバージョンが悪いかどうかを返します。たとえば、n =5で、バージョン=4が最初の不良バージョンであるとします。したがって、isBadVersion(3)がfalseを返し、isBadVersion(5)がtrueを返し、isBadVersion(4)もtrueを返す場合、最初の不良バージョンは4です
これを解決するには、次の手順に従います-
- n <2の場合、nを返します
- 指定された関数を使用して不良バージョンを検出するために、バイナリ検索アプローチを実行します。
例
理解を深めるために、次の実装を見てみましょう-
first_bad = 0 def isBadVersion(version): if version >= first_bad: return True return False class Solution: def firstBadVersion(self, n): if n <2: return n start = 1 end = n while(start<=end): mid = (start+end)//2 if isBadVersion(mid) and not isBadVersion(mid-1): return mid elif isBadVersion(mid-1): end = mid-1 else: start = mid+1 ob1 = Solution() first_bad = 4 op = ob1.firstBadVersion(5) print(op)
入力
5 4
出力
4
-
Pythonのファーストクラス関数
さまざまなプログラミング言語では、ファーストクラスオブジェクトはそれらのオブジェクトであり、均一に処理できます。ファーストクラスオブジェクトは、データ構造、他の関数の一部のパラメーター、制御構造などとして格納できます。ファーストクラスオブジェクトのすべてのプロパティをサポートしている場合、Pythonの関数はファーストクラス関数であると言えます。 ファーストクラス関数のプロパティは何ですか? これはオブジェクトタイプのインスタンスです 関数は変数として保存できます 他の関数の引数として第一級関数を渡す 他の関数から関数を返す 関数をリスト、セット、またはその他のデータ構造に格納します。
-
Pythonモジュールのバージョンを確認する方法は?
Pythonをインストールすると、Pythonパッケージマネージャーpipも取得します。 pipを使用して、Pythonモジュールのバージョンを取得できます。インストールされているすべてのPythonモジュールをバージョン番号とともに一覧表示する場合は、次のコマンドを使用します。 $ pip freeze 出力が表示されます: asn1crypto==0.22.0 astroid==1.5.2 attrs==16.3.0 Automat==0.5.0 backports.functools-lru-cache==1.3 cffi==1.10.0 ... バージョン番号を個別に見つけるには、