思路:
本题我之前想过是否有什么方法可以过,但似乎没有必定正确的方法。如果有,应该也只是c++和Java的暴力法能过了。
一个取巧的方法,随机在left和right中取100个数,记录这100个数的出现次数。如果数的种类超过3个,只有出现次数大于10的才去判断是否大于阈值。如果种类小于3个,则所有的数都参与判断。
时间复杂段300 O(log n)
1 | import collections |
暗里有光
思路:
本题我之前想过是否有什么方法可以过,但似乎没有必定正确的方法。如果有,应该也只是c++和Java的暴力法能过了。
一个取巧的方法,随机在left和right中取100个数,记录这100个数的出现次数。如果数的种类超过3个,只有出现次数大于10的才去判断是否大于阈值。如果种类小于3个,则所有的数都参与判断。
时间复杂段300 O(log n)
1 | import collections |