前提・実現したいこと
配列内のデータ「31」からTimeoutになるのと、配列内に無いデータを入力するとTimeoutになるのですが、目的のデータが配列のどこにあるのかを出力したいです。
発生している問題・エラーメッセージ
Timeout
エラーメッセージ
エラーメッセージは無いです。
該当のソースコード
Java
1 2ソースコード 3class Main{ 4 static int binSearch(int[] array,int key){ 5 int head=0; 6 int tail=6; 7 8 do{ 9 int center=(head+tail)/2; 10 if(array[center]==key){ 11 return center; 12 }else if(array[center]<key){ 13 head=center++; 14 }else{ 15 tail=center--; 16 } 17 }while(head<=tail); 18 return -1; 19 } 20 public static void main(String[] args){ 21 int[] array={11,13,17,19,23,29,31}; 22 int target=31; 23 24 int index=binSearch(array,target); 25 26 if(index !=-1){ 27 System.out.println(index+"番目の要素が一致"); 28 }else{ 29 System.out.println("見つかりませんでした"); 30 } 31 } 32}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
第三者に聞いていい問題なのでしょうか?
仕事じゃないので大丈夫です。
仕事かどうかではなく、Paizaの利用規約に引っかかるかどうかですね。
Paizaの利用規約の禁止行為を確認してください。
paizaの問題じゃないですよ。paiza.ioはネット上でコードが書けるサービスです。
あ、失礼しました。
paiza.ioでpaizaの問題を解いていての質問かと早とちりしました。
動作確認できるpaiza.ioのURL貼ってもらったほうが良いですね。
「ソースコード」だけ除いたコードだとエラー出ますし。
https://paiza.io/projects/RndYNPPLtbJt55OwdCDALg
大丈夫です。
何かの問題だと思っていました。失礼しました。
とりあえずスペルミスはありますね
intdex
↓
index
前後してしまってすみません。アドバイスありがとうございます。
質問は編集できますので、ご自身が試されたpaiza.ioの実行結果で得られるURLを質問本文にご提示ください。
時間がかかってすみません。このサイト久しぶりに使ったので、編集に時間がかかりました。
解決されたようですね。
ただ、回答していない私が言うのもなんですが、今回は「結局どのようにして解決に至ったか」は気になります。もしかしたら回答者の意図通りの対応ではないかもしれないし。
そのあたりは詳細をコメントしてあげてください。
https://teratail.com/help/question-tips#questionTips4-2
分かりました。詳細にコメントしてみます。アドバイスありがとうございます。

回答2件
あなたの回答
tips
プレビュー