题目描述:返回众数,它假设一定有唯一一个众数,而且是非空的
递归合并的方法做。如果是递归的,那么需要返回众数的,这里就会出现一个问题,如果两边都相等,怎么办?返回谁?我门用自己的思路,如果用递归分治的方法的话,下一层,两个部分,那么你需要两个部分相加才行啊?也就是说仍然是递归去找它们的出现次数?然后返回的时候累加他们的次数?
即便是一遍遍历的话,我也可以这么做啊?但是这是因为你用哈希表的情况下实现的,如果不用哈希表呢?就是从头开始遍历,每一个计算它们的总和是多少,一旦这样立刻输出。
为什么说我们知道左边的众数和右边的众数,就可以知道整个数组的众数呢?因为在后面,如果是两边的众数不一样,我们仍然是需要遍历这两个数的总量,进行比较,最终出现结果。
因为只有一个众数的话,分治过程中也不会出现相同的情况吧?
挺简单的,很快做对了。
leetcode 169.求众数
最新推荐文章于 2020-06-05 07:20:59 发布
1339

被折叠的 条评论
为什么被折叠?



