2021 03 20 給定乙個二維陣列matrix,其中的值不是0就是1,返回全部由 如何解答呢?

時間 2021-06-05 07:32:38

1樓:mathe

我們可以先考慮計算每個1它左邊包含自身連續的1的數目(如果它本身為0,那麼計數也設定為0),比如對於矩陣

0110111

1100011

1110011

0111100

計數結果為

0120123

1200012

1230012

0123400

然後依次分析每一列

比如第一列有兩個連續的1,那麼代表可以橫向寬度為1的小矩陣有2+1=3個。

第二列有四個連續元素不小於1,代表橫向寬度為1的小矩陣可以有 個,

還有兩個連續元素不小2,代表橫向寬度為2(到這一列結束)的小矩陣可以有 個。

第三列的單獨2代表縱向高度為,橫向寬度為1或2的兩個小矩陣

第三列後面連續兩個不小於2的數,代表橫向寬度為1或2,縱向高度為1或2的矩陣有 個。另外乙個數字3代表橫向寬度為3,縱向高度為1的矩陣。

...而最後一列的連續322代表橫向寬度為1或2,高度不超過3的矩陣共 個以及橫向寬度為3,縱向高度為1的乙個矩陣。

而且對於每一列,我們也可以將各元素逐個分析,比如以第二列12

21我們先計算出第一列的1,

對應這一列連續不小於1的數累計1個,連續不小於2的數累計0個。

那麼代表一這一列第乙個元素作為右下角的矩陣有 個.

而遇到下一行數字2時,更新連續不小於1的數2個,連續不小於2的數1個,連續不小於3的數0個

對應以這個元素作為右下角的矩陣 個。

再遇到下一行數字2時,更新連續不小於1的數3個,連續不小於2的數2個,

對應以這個元素作為右下角的矩陣 個

再遇到下一行數字1時,更新連續不小於1的數4個,連續不小於2的數0個

對應以這個元素作為右下角的矩陣 個

定義乙個二維陣列arr,為什麼arr, arr, arr三個量的值是一樣的?

某人 陣列名和指標很大程度上是一致的,它們最大的不同在於你不能給陣列名賦值,但指標可以。如果arr定義為type arr M N 那麼arr的指標型別為type arr N 它指向陣列首址。arr的指標型別為type arr M N 同樣也指向陣列首址。arr是對arr的解引用,arr本身是二級指標...

有沒有活在二維或一維的生物?

宇智波 老爺 有 當然有 我就是生活在一維的生物 我生活在乙個占地100m的叫b國的國家 我是b國的一名士兵 守衛著b國與a國的國境點 沒錯我們的國家之間的邊界是乙個點 我守護的這個點叫50 我已經守衛這個國境點 1000000年了 我們國家一共有100 個人 但是我只見過2個 其中乙個是我的弟弟 ...

人類能夠感知二維或者一維世界嗎?

曾劍輝 一維二維世界並不真的存在,不過是為了幾何方便設定的概念。至於什麼五維六維空間,除非修改定義,否則也不可能存在 科學除了證實的很小一部分,在人類歷史上,無限個和高維空間的幻想多了去了 別當真 螞蟻毫無疑問是三維生物 螞蟻多了能咬死你。二維生物沒有厚度,你拿張紙,畫個妹子,她就是二維的一維時間沒...