題目0246-需要打開(kāi)多少監(jiān)控器
題目描述
某長(zhǎng)方形停車(chē)場(chǎng),每個(gè)車(chē)位上方都有對(duì)應(yīng)監(jiān)控器,當(dāng)且僅當(dāng)在當(dāng)前車(chē)位或者前后左右四個(gè)方向任意一個(gè)車(chē)位范圍停車(chē)時(shí),監(jiān)控器才需要打開(kāi),給出某一時(shí)刻停車(chē)場(chǎng)的停車(chē)分布,請(qǐng)統(tǒng)計(jì)最少需要打開(kāi)多少個(gè)監(jiān)控器
輸入描述
第一行輸入m,n表示長(zhǎng)寬,滿(mǎn)足1<m,n<=20;后面輸入m行,
每行有n個(gè)0或1的整數(shù),整數(shù)間使用一個(gè)空格隔開(kāi),
表示該行已停車(chē)情況,其中0表示空位,1表示已停
輸出描述
最少需要打開(kāi)監(jiān)控器的數(shù)量;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-494218.html
示例一
輸入
3 3
0 0 0
0 1 0
0 0 0
輸出
1
思路解析和復(fù)雜度分析
思路解析
這道題目的主要思路是進(jìn)行一次掃描遍歷,檢查每個(gè)停車(chē)位的狀態(tài)。如果停車(chē)位上停有車(chē)(值為1),則將其自身以及上下左右四個(gè)方向的車(chē)位都標(biāo)記為需要監(jiān)控(將值設(shè)為1)。注意,由于題目限定的輸入格式,我們需要在原始的停車(chē)場(chǎng)地圖外面添加一圈邊界,以方便處理邊界車(chē)位的情況。為了方便計(jì)算上下左右四個(gè)方向,我們預(yù)先定義一個(gè)方向數(shù)組,其中包含了當(dāng)前位置文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-494218.html
到了這里,關(guān)于【2023】華為OD機(jī)試真題Java CC++ Python JS Go-題目0246-需要打開(kāi)多少監(jiān)控器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!