-Pythonを見つけるための二次元配列

タイトル説明

(同一の各一次元アレイの長さ)は、上から下に増加する順に、二次元アレイの各列を並べ替えるために、昇順ソートの順に左から右に、各行。完全な機能、例えば、二次元アレイと整数を入力し、配列の整数が含まれているか否かが判断されます。
制限時間:スペースの制約に1秒:32768K不快指数:1448982
この質問の知識:  検索  配列を
 
1.グローバル順次検索

上映時間:446ms

メモリを取る:5636kを

#思路:一行一行顺序查找
- * -コーディング:UTF-8 - * - クラスのソリューション: #の配列二维列表 デフ(自己、ターゲット、配列)検索: #のここでの書き込みコード I における範囲(LEN(配列) ) のための J :範囲(LEN(配列[0])) 場合、ターゲット> 配列[I] [J]: プリント" 続行:" 、I、配列[i] [j]が) 継続 ELIFのターゲット== アレイ[I] [J]: 印刷" 真:"、配列[i]は[J]) を返す真の リターンは

2.すぐに法律に基づいてデータを見つけます

上映時間:364ms

メモリを取る:5752kを

- * -コーディング:UTF-8 - * - 
'' ' アイデア
 行列が発注され、ビューの点から左下隅、アップ番号減少、右の数字の増加、
 あなたは左下隅より大きいデジタル数字を見つけたいときしたがって、左下隅から見て開始します。
 デジタル時間の左下隅より姿を見つけるには、上に移動
'」' 
クラスのソリューションを:
     #を配列二维列表
    デフ検索(自己、ターゲット、配列):
        書き込みここではコード 
        ROWNUM、colNum引数= LEN(配列)、LEN(配列[0])
         プリント(ROWNUM、colNum引数)
        I、J = ROWNUM-1 、0
         ながら I> = 0 および J < colNum引数:
             プリント(I、J、配列[i]は、配列[J])
             であれば、配列[i]は[J] == ターゲット:
                 返すのelif配列[I] [J]> ターゲット:
                I - = 1つの
             ELIFの配列[I] [J] < 目標:
                J + = 1
        
        返す

 

おすすめ

転載: www.cnblogs.com/xl717/p/11762803.html