# - * -コーディング:UTF-8 - * - ''」 タイトル 2次元アレイ状に(各一次元配列の長さと同じ)、各列の並べ替え増加する順に左から右へ、 各列は、上から下に昇順にソート。このような2次元配列と整数を入力して、機能を完了してください これは、アレイが整数が含まれているか否かを判定する。 思考 まず、数字の配列の左上隅を選択します。この数は、あなたが、プロセスの終わりのための外観を見つけたい数に等しい場合。 数がこの数は、列、列を探し除くより大きい場合、番号がある場合は以下の配列よりも見つけるために、 この数直線を除く位置しています。それはあなたが探している数は、アレイの右上隅にない場合と言うことです、 ルック・アレイ内の各時間または除外行、各ステップを見つけるために範囲を狭めることができるように、 あなたが探している番号を見つける、または範囲が空である見つけるまで。 「」」 「」」 著者: 八尾Zhian ブログ: https://cuijiahua.com/blog/2017/11/basis_1.html 変更します。 2020年1月18日 「」」 デフloadSimpData(): ""」 配列要素の初期ライセンスを作成します。 パラメーター: ノー 戻り値: アレイ - 最初の2次元データ ""」 アレイ = [ [ 1、2、8、9 ] [ 2、4、9、12 ]、 [ 4、7、10、13 ]、 [ 6、8、11、15 ] ] リターン・アレー クラスソリューション: #1 アレイ2次元リスト DEF 検索(セルフ、ターゲットは、Array): M = LEN(アレイ) N = LEN(配列[0]) POS_X。= M - 1つの#左下位置に初期位置 POS_Y = 0 一方(POS_X> = 0)&(POS_Y <N-): #境界を越えては出てくる IF配列[POS_X] [POS_Y] ==ターゲット:#もし現在の位置デジタル数が等しい見つけるために、検索処理が終了して戻る真 リターン真 ELIFの配列[POS_X] [POS_Y <目標:#番号がAアウトデジタルフィルタを見つけるために、以下の現在位置を超える場合 POS_Y = POS_Y + 1 他: #番号はあなたがラインアウト、デジタルフィルタを見つけたい、現在の位置よりも大きい場合 POS_X = POS_X - 1 返す偽 #のここでの書き込みコードを もし __name__ == ' __main__ ' : アレイ = loadSimpData() #のプリント(num_color) S = 溶液() プリント(S.Find(7、配列))
見つけるために二次元配列(A)
おすすめ
転載: www.cnblogs.com/shnuxiaoan/p/12210097.html
おすすめ
ランキング