1653 - Minimum Deletions to Make String Balanced

 JAVA

  • class Solution {
        public int minimumDeletions(String s) {
            int n = s.length();
            int[] f = new int[n + 1];
            int b = 0;
            for (int i = 1; i <= n; ++i) {
                if (s.charAt(i - 1) == 'b') {
                    f[i] = f[i - 1];
                    ++b;
                } else {
                    f[i] = Math.min(f[i - 1] + 1, b);
                }
            }
            return f[n];
        }
    }

C++

  • class Solution {
    public:
        int minimumDeletions(string s) {
            int n = s.size();
            int f[n + 1];
            memset(f, 0, sizeof(f));
            int b = 0;
            for (int i = 1; i <= n; ++i) {
                if (s[i - 1] == 'b') {
                    f[i] = f[i - 1];
                    ++b;
                } else {
                    f[i] = min(f[i - 1] + 1, b);
                }
            }
            return f[n];
        }
    };

Comments