(這個問題與 儘量減少惡意軟體的傳播 是一樣的,不同之處用粗體表示。)
在節點網路中,只有當graph[i][j] = 1
時,每個節點i
能夠直接連線到另乙個節點j
。
一些節點initial
最初被惡意軟體感染。只要兩個節點直接連線,且其中至少乙個節點受到惡意軟體的感染,那麼兩個節點都將被惡意軟體感染。這種惡意軟體的傳播將繼續,直到沒有更多的節點可以被這種方式感染。
假設m(initial)
是在惡意軟體停止傳播之後,整個網路中感染惡意軟體的最終節點數。
我們可以從初始列表中刪除乙個節點,並完全移除該節點以及從該節點到任何其他節點的任何連線。如果移除這一節點將最小化m(initial)
, 則返回該節點。如果有多個節點滿足條件,就返回索引最小的節點。
示例 1:
輸出:graph = [[1,1,0],[1,1,0],[0,0,1]], initial = [0,1]
輸入:0
示例 2:
輸入:graph = [[1,1,0],[1,1,1],[0,1,1]], initial = [0,1]
輸出:1
示例 3:
輸入:graph = [[1,1,0,0],[1,1,1,0],[0,1,1,1],[0,0,1,1]], initial = [0,1]
輸出:1
1 < graph.length = graph[0].length <= 300
0 <= graph[i][j] == graph[j][i] <= 1
graph[i][i] = 1
1 <= initial.length < graph.length
0 <= initial[i] < graph.length
dfs的姿勢 儘量減少不必要的搜尋
好長時間不做搜尋了 雖然做了乙個簡單的果斷tle 和別人 一比就看出高低了 include include include include include include include include include include include include include include ...
遞迴 儘量減少不必要的遞迴消耗方式
能用迭代的盡量不用遞迴,在使用遞迴的時候寫發也很重要,要儘量減少不必要的再次遞迴呼叫 e.g.這是乙個遞迴刪除資料夾的例子 寫法1 private static boolean deletedir file dir dir.delete 是資料夾通過上面的遞迴就已經刪空了,最後不管是空資料夾還是檔案...
我的程式優化 儘量減少資料庫連線操作
最近做乙個專案,做的比較鬱悶,現在把專案經驗總結在這裡。專案的主要功能就是為第三方程式提供資料,並根據客戶端的呼叫提供資料更新。我的程式屬於服務端。服務端以站點形式部署,以xml的資料格式輸出。專案以我自己的設計編碼完成,並整合測試。初始化資料時,問題出現了。剛開始體現在客戶端接受資料很慢。測試環境...