劍指offer刷題day01

2021-10-24 15:44:34 字數 645 閱讀 2693

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

分析1:

二維陣列的含義:a[3,4]為3行4列的陣列,想要判斷是否存在該整數,暴力法是一定可以成功的,我們可以先用暴力法求解。但顯然題目給出的條件是行列都是有序的。查詢演算法中針對有序序列常用二分查詢。二分查詢(折半查詢)的**如下:

public

static

intbinarysearch

(int

a,int b)

else

if(a[mid]

> b)

else

}return-1

;}}

二分查詢的邏輯是比較簡單的,本題可以將每一行看成一次二分查詢。最終可以寫成**且通過。

public

class

solution

else

if(array[i]

[mid]

else}}

return

false;}

}

劍指offer刷題

面試題6 從尾到頭列印鍊錶 struct listnode class solution reverse res.begin res.end return res 替換空格class solution int newnumstr numstr numspace 2 if newnumstr leng...

劍指offer刷題

原題鏈結 動態規劃 class solution dp for int i 1 i len1 i else if p j 1 else return dp len1 len2 原題鏈結 數學推導 找規律 class solution else if n 3 2 return ipow 3 numso...

劍指offer刷題 2

思路 如果從前往後進行遍歷,那麼每次找到乙個空格,則需要新增兩個位元組來進行替換,我們採用先對字串進行遍歷,查詢字串中的空格的個數,然後對新的字串進行長度的計算,然後從後往前進行替換,每遇到乙個空字元,然後進行替換。class solution int oldnumber 0 int numbers...