```class Solution { fun longestValidParenthese...
# announcements
w
Copy code
class Solution {
    fun longestValidParentheses(s: String): Int {
        var longest = 0; var balance = 0
        (0 until s.length).forEach outer@{ i ->
            balance = 0
            (i until s.length).forEach inner@{ j ->
                if (s[j] == '(') balance += 1 else balance -= 1
                if (balance < 0) return@outer
                if (balance == 0 && j-1 > longest) longest = j-i
            }
        }
        return longest
    }
}

fun main(args: Array<String>) {
    val s = Solution()
    println(s.longestValidParentheses("(()"))
}