陣列系列01 二維陣列中的查詢

2021-10-06 10:38:39 字數 1989 閱讀 3010

題目描述

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

該陣列不是一般的陣列,從左到右遞增、從上到下遞增意味著每行最後乙個最大,每列第乙個最小。

# -*- 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:

2 4 8 7 5 1

很顯然,python的比較簡單,我們可以先寫python的。

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,則行數應表示為...