Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonに組み込まれているlength()関数を使用せずにリストの長さを検索するプログラム


リスト番号があるとします。このリストの長さを見つける必要がありますが、length()、size()、またはlen()タイプの関数は使用しません。

したがって、入力がnums =[5,7,6,4,6,9,3,6,2]の場合、出力は9になります。

これを解決するには、次の手順に従います-

  • マップとリストの操作でこれを解決します
  • x:=numsのすべての要素を含むリスト
  • xのすべての要素を1に変換します
  • sum()メソッドを使用してxの合計を求めます
  • この例では、map()メソッドを使用して、無名関数を定義することですべてを1に変換しました。

理解を深めるために、次の実装を見てみましょう-

def solve(nums):
   return sum(map(lambda x:1, nums))
nums = [5,7,6,4,6,9,3,6,2]
print(solve(nums))

入力

[5,7,6,4,6,9,3,6,2]

出力

9

  1. Pythonの間隔のリストから最長の間隔の長さを見つけるプログラム

    各間隔が[start、end]の形式である間隔のリストがあるとします。重なり合う間隔をいくつでもマージして、作成できる最長の間隔を見つける必要があります。 したがって、入力が[[1、6]、[4、9]、[5、6]、[11、14]、[16、20]]の場合、マージ後の出力は9になります。長さ9の区間[1、9]があります。 これを解決するには、次の手順に従います- リスト間隔を並べ替える union:=間隔リストの最初の間隔 best:=union [end] --union [start] + 1 最初の時刻を除く間隔で開始時刻sと終了時刻eごとに、を実行します。 s <=union

  2. Pythonで最長の連続シーケンスの長さを見つけるプログラム

    並べ替えられていない数値の配列があるとすると、連続する要素の最長シーケンスの長さを見つける必要があります。 したがって、入力がnums =[70、7、50、4、6、5]の場合、連続する要素の最長シーケンスは[4、5、6、7]であるため、出力は4になります。したがって、その長さを返します:4。 これを解決するには、次の手順に従います- nums:=numsのすべての一意の要素 max_cnt:=0 numsのnumごとに、実行します num-1がnumsにない場合、 cnt:=0 numがnumsに存在する間、実行します num:=num + 1