LeetCode in Kotlin

3223. Minimum Length of String After Operations

Medium

You are given a string s.

You can perform the following process on s any number of times:

Return the minimum length of the final string s that you can achieve.

Example 1:

Input: s = “abaacbcbb”

Output: 5

Explanation:
We do the following operations:

Example 2:

Input: s = “aa”

Output: 2

Explanation:
We cannot perform any operations, so we return the length of the original string.

Constraints:

Solution

class Solution {
    fun minimumLength(s: String): Int {
        val freq = IntArray(26)
        for (i in 0..25) {
            freq[i] = 0
        }
        for (i in 0 until s.length) {
            freq[s[i].code - 'a'.code]++
        }
        var c = 0
        for (i in freq) {
            if (i != 0) {
                c += if (i % 2 == 0) {
                    2
                } else {
                    1
                }
            }
        }
        return c
    }
}