leetcode 926 將字串翻轉到單調遞增

2022-09-09 06:03:10 字數 820 閱讀 4819

如果乙個由 '0' 和 '1' 組成的字串,是以一些 '0'(可能沒有 '0')後面跟著一些 '1'(也可能沒有 '1')的形式組成的,那麼該字串是單調遞增的。

我們給出乙個由字元 '0' 和 '1' 組成的字串 s,我們可以將任何 '0' 翻轉為 '1' 或者將 '1' 翻轉為 '0'。

返回使 s 單調遞增的最小翻轉次數。

示例 1:

輸入:"00110"

輸出:1

解釋:我們翻轉最後一位得到 00111.

示例 2:

輸入:"010110"

輸出:2

解釋:我們翻轉得到 011111,或者是 000111。

示例 3:

輸入:"00011000"

輸出:2

解釋:我們翻轉得到 00000000。

1 <= s.length <= 20000

s 中只包含字元 '0' 和 '1'

用陣列來記錄1出現的位置。之後遍歷陣列,計算以當前值為為分界線時,需要改變的位數,求出最小值。

LeetCode 926 將字串翻轉到單調遞增

基本思路就是 在這個字串中,存在某乙個點,在這個點之前所有的字元均為0,後面的字元均為1,那麼我們就可以遍歷這個字串來找到這個點。首先遍歷整個字串,找到將字串全部變為 1 所需要的次數one num,然後再從頭開始遍歷字串,每找到乙個 0 那麼就將one num減一,每找到乙個 1 就將zero n...

leetcode 926 將字串轉到單調遞增

如果乙個由 0 和 1 組成的字串,是以一些 0 可能沒有 0 後面跟著一些 1 也可能沒有 1 的形式組成的,那麼該字串是單調遞增的。我們給出乙個由字元 0 和 1 組成的字串s,我們可以將任何 0 翻轉為 1 或者將 1 翻轉為 0 返回使s單調遞增的最小翻轉次數。示例 1 輸入 00110 輸...

LeetCode 字串 反轉字串

反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l ...