
Code Copilot
コーディングをより速く, 賢く — プログラマの専門知識を手元に GPT-4を搭載した有料サービスであるGithub Copilot Chatのシステム設定を組み込んだAIエージェントです。デバッグ, コードスニペットの作成, 質問 etc.
投稿日時:
- プロンプト実行例
こんにちは。Code Copilotです。プログラミング・コード・開発に関する質問にお答えします。
Pythonで二分探索のコードを書き、分かりやすく解説してください。
Python
1def binary_search(arr, target):
2 """
3 二分探索を利用して配列内の目的の値の位置を探す関数
4 :param arr: 探索を行うソート済みの配列
5 :param target: 探索する値
6 :return: 目的の値のインデックス、存在しない場合は-1を返す
7 """
8 left = 0 # 探索範囲の左端
9 right = len(arr) - 1 # 探索範囲の右端
10
11 while left <= right:
12 mid = (left + right) // 2 # 探索範囲の中央の位置
13 if arr[mid] == target: # 目的の値を見つけた場合
14 return mid
15 elif arr[mid] < target: # 中央の値より目的の値が大きい場合
16 left = mid + 1 # 探索範囲を右側に絞る
17 else: # 中央の値より目的の値が小さい場合
18 right = mid - 1 # 探索範囲を左側に絞る
19 return -1 # 目的の値が配列内に存在しない場合
20
21# 配列と目的の値の例
22arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
23target = 5
24
25# 二分探索関数を呼び出して結果を表示
26index = binary_search(arr, target)
27print(index)- binary_search関数は、ソート済みの配列arrと検索対象の値targetを引数として受け取ります。
- 探索範囲の左端をleft、右端をrightとして、これらを使って探索範囲を管理します。
- whileループを使用して、leftがright以下である間、探索を継続します。これは探索範囲が存在する限り繰り返されます。
- 探索範囲の中央midを計算し、arr[mid]がtargetに等しいかを判断します。等しければその位置midを返します。
- arr[mid]がtargetより小さければ、targetはmidより右側にあると判断し、探索範囲の左端leftをmid + 1に更新します。
- arr[mid]がtargetより大きければ、targetはmidより左側にあると判断し、探索範囲の右端rightをmid - 1に更新します。
- もしtargetが配列内に存在しない場合、-1を返します。
コメント 0
他のプロンプトもチェック
画像生成
プロンプト生成
推奨モデル - DALL•E 3✨最新の【AI美女】プロンプトはこちら!✨ 「秋の和風AI美女」が作成できるプロンプトを公開中! https://x.gd/VaLXU ”AIで世界の絶景を見に行こう!” 「選択式」で面倒な入力は不要! 見たい景色を選ぶだけでAIが絶景画像を作成します。 プロンプトも公開中。 GPTs作成にも使えます🐼 #画像生成 #画像生成AI #AIart #旅行 #絶景9025492物語・脚本・プロット
推奨モデル - ChatGPT稲川淳二さんのような語り口調の怖ーい話をつくります。 暑い夏のネタにどうぞ。1033790画像生成
SNS投稿
推奨モデル - DALL•E 3思いっきりはっちゃけて新年を祝うとびきり可愛い美少女のSNSあけおめ投稿用イラストを作る4025278