926題題目介紹
創(chuàng)建一個(gè)二維數(shù)組dp[i][0]和dp[i][1]但惶,分別儲(chǔ)存一個(gè)S[i]這個(gè)數(shù)要變成0或1的時(shí)候需要翻轉(zhuǎn)的次數(shù)持灰。
初始化:
初始化
當(dāng)我們開(kāi)始循環(huán)時(shí)絮缅,S[i]分為兩種情況:
1:S[i]='0'
不翻轉(zhuǎn)它時(shí)丁屎,那么S[i]無(wú)需翻轉(zhuǎn)荠锭,所以dp[i][0]=dp[i-1][0]。
把他變?yōu)?時(shí)晨川,前面的數(shù)有兩種情況证九,全部已經(jīng)變?yōu)?或者1,即dp[i-1][0]和dp[i-1][1]共虑,此時(shí)愧怜,這都符合我們遞增的題目要求,我們只需要找出最少翻轉(zhuǎn)的情況即可妈拌,即dp[i][1]=min(dp[i-1][0]+1,dp[i-1[1]+1)拥坛。
2:S[i]='1'
把它變?yōu)?時(shí),因?yàn)橐项}目要求尘分,所以變?yōu)?的時(shí)候前面的數(shù)必須是0猜惋,所以無(wú)需比較,直接dp[i][0]=dp[i-1][0]+1培愁。
不翻轉(zhuǎn)它時(shí)惨奕,此時(shí)有兩種情況,全面的數(shù)都已經(jīng)翻轉(zhuǎn)成數(shù)字0此時(shí)開(kāi)始翻轉(zhuǎn)數(shù)字1竭钝,或者前面已經(jīng)存在數(shù)字1梨撞,所以我們要比較兩者那個(gè)最少翻轉(zhuǎn)次數(shù),所以dp[i][1]=min(dp[i-1][0],dp[i-1][1])香罐。
核心代碼