題目描述
在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
該陣列不是一般的陣列,從左到右遞增、從上到下遞增意味著每行最後乙個最大,每列第乙個最小。
# -*- coding:utf-8 -*-
# class表示乙個類,定義乙個類。self.xx意味著此變數或者常量是全域性的。
class
solution
:# array 二維列表
deffind
(self, target, array)
:# 定義乙個函式
#首先我們先了解此陣列的行數和列數
row =
len(array)
col =
len(array[0]
)#然後宣告變數
i, j =
0, col -
1while i < row and j >-1
:#變數的邊界
if target > array[i]
[j]:
#情況 i +=
1elif target < array[i]
[j]:
j -=
1else
:return
true
return
false
/*class是宣告乙個類,以;結尾 */
class
solution
return
false
;//要跳出while的迴圈即跳出while{},不可在while內return}}
};//類以;結尾,函式不用
另乙個題:小公尺2019秋招測試開發筆試題(a)
輸入乙個無序整數陣列,調整陣列中數字的順序, 所有偶數字於陣列的前半部分,使得所有奇數字於陣列的後半部分。
要求時間複雜度為o(n)。
輸入描述:給定無序陣列。
長度不超過1000000。
輸出描述:所有偶數字於陣列的前半部分,所有奇數字於陣列的後半部分。
如果有多個答案可以輸出任意乙個正確答案。
輸入例子1:2 4 5 7 8 1
輸出例子1:很顯然,python的比較簡單,我們可以先寫python的。2 4 8 7 5 1
class
solution
:def
move_di
(array):if
len(array)==0
:return
none
iflen
(array)==1
:return array
num =
len(array)
tmp_o =
tmp_j =
for i in
range
(num)
:if array[i]%2
==0:)
else:)
return tmp_o+tmp_j
import sys
line = sys.stdin.readline()
array =
list
(map
(int
, line.split())
)a = solution.move_di(array)
c =' '
.join(
str(i)
for i in a)
print
(c)
01 陣列之二維陣列中的查詢
題目描述 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。這個沒有利用到二維陣列行列遞增順序排列,複雜度太高public boolean find int t...
01 二維陣列的查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列 arry 3 4 8,9,10,11,9,10,11,12,10,11,12,13,從左下角元素往上...
01 二維陣列的查詢
題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。如果用一維陣列表示,則前提必須知道它的行數和列數 如果用容器vector包含容器元素,即vector array,則行數應表示為...