華為OD機(jī)試- 矩陣稀疏掃描
如果矩陣中的許多系數(shù)都為零,那么該矩陣就是稀疏的。對(duì)稀疏現(xiàn)象有興趣是因?yàn)樗拈_(kāi)發(fā)可以帶來(lái)巨大的計(jì)算節(jié)省,并且在許多大的實(shí)踐中都會(huì)出現(xiàn)矩陣稀疏的問(wèn)題。
? ? ? ? 給定一個(gè)矩陣,現(xiàn)在需要逐行和逐列地掃描矩陣,如果某一行或者某一列內(nèi),存在連續(xù)出現(xiàn)的O的個(gè)數(shù)超過(guò)了行寬或者列寬的一半 W / 2整除),則認(rèn)為該行或者該列是稀疏的。
掃描給定的矩陣,輸出稀疏的行數(shù)和列數(shù)
輸入描述
第行輸入為M和N,表示矩陣的大小M*N,0< M <=100,0 < N <=100
接下來(lái)M行輸入為矩陣的成員,每行N個(gè)成員,知陣成員都是有符號(hào)整數(shù),范圍-32768到32767
輸出描述
輸出兩行,第一行表示稀疏行的個(gè)數(shù),第二行表示稀疏列的個(gè)數(shù)
示例1:
輸入
3 3
1 0 0
0 1 0
0 0 1
輸出
3
3
說(shuō)明
給定的3*3矩陣?yán)铮恳恍泻兔恳涣袃?nèi)都存在2個(gè)0,行寬3,列寬3,[3/2] = 1,因此稀疏行有3個(gè),稀疏列有3個(gè)。
示例2:
輸入
5 3
-1 0 1
0 0 0
-1 0 0
0 -1 0
0 0 0
輸出
5
3
說(shuō)明
給定的5*3矩陣,每行里面0的個(gè)數(shù)大于等于1表示稀疏行,每列里面0的個(gè)數(shù)大于等于2表示稀疏行,所以有5個(gè)稀疏行,3個(gè)稀疏列
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130921547
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130958435
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131023469
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131100511
C實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131100489