演算法第二週作業01

2021-07-27 16:48:01 字數 738 閱讀 9095

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

對於左上角的元素

array[i][j] (其中

i=0; j=array[0].length),它下方的數值都比它大(就是說它所在列中是最大的),它左方的數值都比它小(就是說它所在行是最大的)。

首先將目標整數與左上角的元素對比,如果相等,那麼它就是答案;  如果

目標整數大於左上角的元素,那麼目標整數大於它一整行的數值,因此可以排除所在行,即i++;   如果

目標整數小於左上角的元素,那麼目標整數小於它一整列的數值,因此可以排除所在列,即j--;

重複上述過程,直到i==array.length或者j==-1; 最後由於找不到相等的,返回false

public static boolean find(int target, int array) 

// 定位左上角元素

int i=0;

int j=array[0].length - 1;

for(; i< array.length && j >= 0;) else if(target < array[i][j]) else if(target > array[i][j])

} return false;

}

第二週演算法作業

將數字轉化成字串,然後再轉化成列表,利用列表的反轉函式進行反轉,最後轉換回數字class solution object defreverse self,x type x int rtype int isneg false if x 0 isneg true x x reverse x list l...

演算法第二週作業04

乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。solutions 青蛙要想跳到target級台階,她可以從第0個台階直接 一次 跳到target級,或者從第1級台階直接跳到target級,或者直接從第target 1級台階直接跳到targ...

第二週作業

實驗作業 1.編寫調式執行第乙個c 程式,要求輸出你的班級 姓名和學號 2.輸入課本例題1.2,除錯執行程式,並分析程式。3.分析程式中哪些是識別符號,哪些是關鍵字。4.回答什麼是程式 工程,原始檔 目標檔案 執行檔案 編譯預處理 名字空間 函式.主函式 功能 顯示輸出班級 姓名 學號 includ...