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
-
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
-
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