HHullspring
ワークフロー

コーディングのワークフロー · 整数座標の凸包

03
製品

ワークフロー

最大1000個の整数座標から辞書順最小点を始点とする反時計回りの凸包を作ってください。空入力、重複、同一直線上の点を試し、最外端だけを残して小数座標を拒否してください。

01

アプリをダウンロード

フォルダーを選び、編集前に関連ファイルを読むようアシスタントに依頼します。作業の目的と変更範囲を明確にしてください。

02

プロジェクトフォルダーを開く

対応するエンドポイントを選択します。利用できるツールや回答品質は、設定したモデルとサーバーに依存します。

03

モデルを接続してテスト

変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。

04

変更を確認しテストを実行

実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

整数座標の凸包

ワークフロー
def convex_hull(points):
    if type(points) is not list or len(points) > 1000:
        raise ValueError("hull.input")
    if any(type(p) not in (tuple, list) or len(p) != 2 or
           any(type(v) is not int for v in p) for p in points):
        raise ValueError("hull.point")
    ordered = sorted(set(map(tuple, points)))
    if len(ordered) <= 1:
        return ordered
    def turn(a,b,c):
        return (b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])
    def chain(sequence):
        out = []
        for p in sequence:
            while len(out) >= 2 and turn(out[-2],out[-1],p) <= 0:
                out.pop()
            out.append(p)
        return out
    return chain(ordered)[:-1]+chain(reversed(ordered))[:-1]

適用前に確認. 変更内容とコマンド出力を確認します。結果を採用する前にプロジェクトの検証を実行してください。生成コードが自動的にテスト済みになるわけではありません。

AIコーディングワークスペース

次のアイデアはここから。

Windows版をダウンロード ↗