zoukankan      html  css  js  c++  java
  • LeetCode 926. Flip String to Monotone Increasing

    原题链接在这里:https://leetcode.com/problems/flip-string-to-monotone-increasing/

    题目:

    A string of '0's and '1's is monotone increasing if it consists of some number of '0's (possibly 0), followed by some number of '1's (also possibly 0.)

    We are given a string S of '0's and '1's, and we may flip any '0' to a '1' or a '1' to a '0'.

    Return the minimum number of flips to make S monotone increasing.

    Example 1:

    Input: "00110"
    Output: 1
    Explanation: We flip the last digit to get 00111.
    

    Example 2:

    Input: "010110"
    Output: 2
    Explanation: We flip to get 011111, or alternatively 000111.
    

    Example 3:

    Input: "00011000"
    Output: 2
    Explanation: We flip to get 00000000. 

    Note:

    1. 1 <= S.length <= 20000
    2. S only consists of '0' and '1' characters.

    题解:

    Say up to i, we have already flip as minimum number of flips needed.

    Then it comes to i + 1. If it is 1, then there is nothing changed.

    If it is 0, there are 2 options, either convert it to 1, then it needs flip + 1.

    Or convert all previous 1 into 0, then it needs oneCount. Take the minimum.

    Time Complexity: O(n). n = S.length().

    Space: O(1).

    AC Java:

     1 class Solution {
     2     public int minFlipsMonoIncr(String S) {
     3         int oneCount = 0;
     4         int flip = 0;
     5         for(int i = 0; i < S.length(); i++){
     6             if(S.charAt(i) == '1'){
     7                 oneCount++;
     8             }else{
     9                 flip = Math.min(flip + 1, oneCount);
    10             }
    11         }
    12         
    13         return flip;
    14     }
    15 }
  • 相关阅读:
    LeetCode Subsets II
    LeetCode Rotate Image
    LeetCode Palidrome Number
    LeetCode Generate Parentheses
    LeetCode Maximum Subarray
    LeetCode Set Matrix Zeroes
    LeetCode Remove Nth Node From End of List
    Linux Loop设备 使用
    Linux 文件系统大小调整
    LeetCode N-Queens II
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/12442448.html
Copyright © 2011-2022 走看看