LeetCode【169. 求众数】

这道题,就直接想到双for,每个数组中数与后面所有数相比较,如果相等,则count加1,最后输出count,然后,将count归零,再赋值新的值。

        int i,j;
        int t = 0;
        int s = 0;
        int c = nums.length;
        for(i = 0;i <= c-1;i++)
        {
            t = nums[i];
            for(j = i;j <= c-1;j++)
            {
                if(t == nums[j])
                {
                    s++;
                }
            }
            if(s > c/2)
            {
                break;
            }
            s = 0;
        }
        return t;

但是,最后数组数值多了,就会超时。

我个人觉得可以在比较到相等时,可以将数值删除。

猜你喜欢

转载自www.cnblogs.com/wzwi/p/10874572.html