バイナリサーチバイナリサーチの配列

それは理解の多くは、問題の解決策ではない、制限されています

このこんにゃくを見ていただきありがとうございます

1083:配列のバイナリ検索

制限時間:1秒   メモリ制限:128メガバイトの
提出:1646   解決:641
[ 送信 ] [ ステータス ] [ ウェブボード ]

説明

1500年に整数xの整数の位置を確認し、これらの数値は、小規模から大規模にソートされています。出力がある場合に出力位置は、存在する場合は-1。

入力

最初の行は、X線1500リア整数、各行整数

出力

整数(位置xに対して、出力がある場合-1)

サンプル入力

5 
1 
2 
5 
7 
.....

サンプル出力

3

ヒント

 

バイナリテンプレートを探します

コード:

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
int型のx;
INT [ 1501 ]。
INT のmain()
{     
    int型左= 1、右= 1500は、ミッド=見つける- 1 
    cinを >> X;
    以下のためにint型 i = 1 ; iは= < 1500 ; iは++ 
    CIN >> [I]。
    
        しながら、(左<= 右)
        { 
            半ば =(左+右)/ 2 もし([中期] ==X){ 
                見つける = ミッド。
                破ります; 
            } 
            もし([中間] < X)
            {  =ミッド+ 1 
            } 
            もし([中間]> X)
            {  =半ば1 
            } 
        } 
    COUT << 見つけます。
    // freopenは( "yzlak.in"、 "R"、STDIN)。
    // freopenは( "yzlak.out"、 "W"、STDOUT)。
}

 

おすすめ

転載: www.cnblogs.com/nlyzl/p/11357152.html