日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python矩形填充颜色_在Python中找到所有用0填充的矩形

發(fā)布時間:2023/12/1 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python矩形填充颜色_在Python中找到所有用0填充的矩形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設我們有一個二進制2D矩陣,現在我們必須找到所有用0填充的矩形的起點和終點。我們必須牢記,矩形是分開的,彼此之間不接觸,但是它們可以接觸陣列邊界。僅包含單個元素的矩形也是可能的。

所以,如果輸入像-1011101

1101111

1011001

1011001

1011011

1010000

1110001

1011101

那么輸出將是[[0,1,0,1],[0,5,0,5],[1,2,1,2],[2,3,2,4],[3,1 ,5、1],[3、4、6、5],[5、3、6、5],[7、1、7、1],[7、5、7、5]]

為了解決這個問題,我們將遵循以下步驟-定義一個函數find_rect()。這將需要i,j,a,輸出,索引

x:=行數

y:=列數

flag_col:= 0

flag_row:= 0

對于范圍i至x的m在輸出[索引]的末尾插入n

在輸出[索引]的末尾插入n-1

在輸出[索引]的末尾插入m在輸出[索引]的末尾插入m-1

如果a [m,n]等于1,則

a [m,n]:= 5flag_col:= 1

打破

沒做什么flag_row:= 1

打破

如果a [m,j]等于1,則

如果a [m,j]與5相同,則

對于j到y(tǒng)范圍內的n

如果flag_row與1相同,則

除此以外,

如果flag_col與1相同,則

除此以外,

從主要方法中,執(zhí)行以下操作-

n:=一個的大小

op:=一個新列表

idx:= -1

對于0到n范圍內的i,執(zhí)行如果a [i,j]等于0,則

將[i,j]插入op

idx:= idx + 1

find_rect(i,j,a,op,idx)

對于范圍為0到a [0]大小的j,執(zhí)行

顯示操作

范例程式碼

讓我們看下面的實現以更好地理解-def?find_rect(i,j,a,output,index):

x?=?len(a)

y?=?len(a[0])

flag_col?=?0

flag_row?=?0

for?m?in?range(i,x):

if?a[m][j]?==?1:

flag_row?=?1

break

if?a[m][j]?==?5:

pass

for?n?in?range(j,?y):

if?a[m][n]?==?1:

flag_col?=?1

break

a[m][n]?=?5

if?flag_row?==?1:

output[index].append(?m-1)

else:

output[index].append(m)

if?flag_col?==?1:

output[index].append(n-1)

else:

output[index].append(n)

def?get_coord(a):

n?=?len(a)

op?=?[]

idx?=?-1

for?i?in?range(0,n):

for?j?in?range(0,?len(a[0])):

if?a[i][j]?==?0:

op.append([i,?j])

idx?=?idx?+?1

find_rect(i,?j,?a,?op,?idx)

print?(op)

tests?=?[[1,?0,?1,?1,?1,?0,?1],

[1,?1,?0,?1,?1,?1,?1],

[1,?1,?1,?0,?0,?1,?1],

[1,?0,?1,?1,?0,?0,?1],

[1,?0,?1,?1,?0,?1,?1],

[1,?0,?1,?0,?0,?0,?0],

[1,?1,?1,?0,?0,?0,?1],

[1,?0,?1,?1,?1,?0,?1]]

get_coord(tests)

輸入值[[1,?0,?1,?1,?1,?0,?1],

[1,?1,?0,?1,?1,?1,?1],

[1,?1,?1,?0,?0,?1,?1],

[1,?0,?1,?1,?0,?0,?1],

[1,?0,?1,?1,?0,?1,?1],

[1,?0,?1,?0,?0,?0,?0],

[1,?1,?1,?0,?0,?0,?1],

[1,?0,?1,?1,?1,?0,?1]]

輸出結果[[0,?1,?0,?1],?[0,?5,?0,?5],?[1,?2,?1,?2],?[2,?3,?2,?4],?[3,?1,?5,?1],?[3,?4,?6,?5],?[5,?3,?6,?5],?[7,?1,?7,?1],?[7,?5,?7,?5]]

總結

以上是生活随笔為你收集整理的python矩形填充颜色_在Python中找到所有用0填充的矩形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。