矩陣操作之 方向向量法

2021-09-24 12:49:24 字數 785 閱讀 4285

包含整數的二維矩陣 m 表示乙個的灰度。你需要設計乙個平滑器來讓每乙個單元的灰度成為平均灰度 (向下捨入) ,平均灰度的計算是周圍的8個單元和它本身的值求平均,如果周圍的單元格不足八個,則盡可能多的利用它們。

輸入:

[[1,1,1],

[1,0,1],

[1,1,1]]

輸出:[[0, 0, 0],

[0, 0, 0],

[0, 0, 0]]

看到這個題目一開始沒啥思路,只有暴力的想法。後來看到別人的思路發現非常神奇,漲姿勢了。

首先可以用到的就是方向向量法。把需要操作的格仔做成乙個方向向量表,遍歷向量表操作,同時加上篩選條件,選取需要的格仔。**如下:

class solution ,,,,,,,,};

int res = new int[r][c];

for(int i = 0; i< r; i++)

for(int j = 0; j< c; j++)

res[i][j] = sum/count;

}return res;

}}

看到大家的討論,還有一種比較簡單的方式,那就是小區域法。

最終我需要求和的只是一片矩陣小區域,所以可以把小區域的邊界找出來。然後再遍歷小區域裡面的所有格仔。**如下。

class solution 

return res;

}}

不過,總的來說,方向向量會更靈活一點,哪些格仔可以任意選取,不一定要矩形。

兩平面平行方向向量關係 方向向量和法向量的關係

方向向量和法向量的關係2020 07 17 09 39 11文 王君婷 法向量是空間解析幾何的乙個概念,垂直於平面的直線所表示的向量為該平面的法向量。由於空間內有無數個直線垂直於已知平面,因此乙個平面都存在無數個法向量 包括兩個單位法向量 方向向量是乙個數學概念,空間直線的方向用乙個與該直線平行的非...

Matlab向量 矩陣基本操作

1 向量的建立 1 直接輸入 行向量 a 1,2,3,4,5 列向量 a 1 2 3 4 5 2 用 生成向量 a j k 生成的行向量是a j,j 1,k a j d k 生成行向量a j,j d,j m d m fix k j d 3 函式linspace 用來生成資料按等差形式排列的行向量 x...

MKL學習 矩陣向量操作

前面介紹的blas level 1是向量 向量的操作,而這裡的blas level 2主要還是對矩陣 向量之間的操作。命名規則與前面的一樣,主要記住定義的是資料型別 s實數域,單精度 c複數域,單精度 d實數域,雙精度 z複數域,雙精度 也可結合起來,比如sc代表實數域和複數域的單精度型別,dz代表...