ホームページ > バックエンド開発 > Python チュートリアル > Python でウィークリー チャレンジ タスクを段階的に解決する

Python でウィークリー チャレンジ タスクを段階的に解決する

Linda Hamilton
リリース: 2025-01-04 12:29:35
オリジナル
836 人が閲覧しました

Solving the Weekly Challenge  Task Step by Step in Python

1. はじめに

Mohammad S. Anwar が主催する Weekly Challenge は、開発者が 2 つのタスクを解決することで競うフレンドリーなコンテストです。学習、共有、楽しみを通じて、あらゆる言語とレベルの開発者の参加を奨励します。

タスク 2: ウィークリー チャレンジのステップ バイ ステップでは、開発者は段階的な合計が 1 を下回らない開始値を見つける必要があります。

この投稿では、タスク 2: ステップバイステップの Python 言語ソリューションについて説明し、提示し、短い結論で終わります。

2. タスク 2: ステップバイステップ

整数の配列 @ints が与えられます。

ステップごとの合計が 1 を下回らないように、正の最小開始値を見つけるスクリプトを作成します。

ウィークリー チャレンジ 302、タスク 2: ステップバイステップ

例 1 ~ 3 は、指定された入力から期待される出力を示しています。

例1

Input: @ints = (-3, 2, -3, 4, 2)
Output: 5
ログイン後にコピー

開始値 5 の場合.

5 + (-3) = 2
2 + (+2) = 4
4 + (-3) = 1
1 + (+4) = 5
5 + (+2) = 7
ログイン後にコピー

例 2

Input: @ints = (1, 2)
Output: 1
ログイン後にコピー

例 3

Input: @ints = (1, -2, -3)
Output: 5
ログイン後にコピー

3. タスク 2 に対する私の解決策

def return_min_start(ints: list[int]) -> int | None:
    for start_value in range(1, 1000000):
        step_sum = start_value + ints[0]
        if step_sum < 1:
            continue
        for index in range(1, len(ints)):
            step_sum += ints[index]
            if step_sum < 1:
                break
        if step_sum >= 1:
            return start_value
    return None
ログイン後にコピー

私のソリューションでは、for ループと if ステートメントを使用して、タスク要件に一致する start_value を段階的に検索します。

  • [1, 1000000) の範囲内で開始値を段階的に検索します。各 start_value について:
    • start_value と ints[0] のステップごとの合計 (step_sum) を計算します。 step_sum が 1 未満の場合は、次に考えられる start_value からやり直します。
    • int の残りの要素の step_sum を計算します。いずれかの要素の step_sum が 1 未満の場合は、次に考えられる start_value からやり直します。
    • start_value の最終 step_sum が 1 より大きい場合、start_value を返します。
  • [1, 1000000) の範囲内で start_value が見つからない場合は、None を返します。

4. 結論

この投稿では、タスク 2: ステップごとに説明し、解決策を提示しました。

最新および過去のチャレンジの詳細については、The Weekly Challenge Web サイトをご覧ください:
https://theweeklychallenge.org/

The Weekly Challenge での競争に関するよくある質問:
https://theweeklychallenge.org/faq/

以上がPython でウィークリー チャレンジ タスクを段階的に解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート