题目给定一个大小为 n 的数组 nums 返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的并且给定的数组总是存在多数元素。示例 1输入nums [3,2,3]输出3示例 2输入nums [2,2,1,1,1,2,2]输出2题解classSolution{publicintmajorityElement(int[]nums){intx0,votes0;for(intnum:nums){if(votes0)xnum;votesnumx?1:-1;}returnx;}}解析出自169. 多数元素摩尔投票清晰图解classSolution{publicintmajorityElement(int[]nums){// 初始化候选众数 x当前假设的多数元素// votes 表示当前候选者的“净票数”支持票 - 反对票intx0,votes0;// 遍历数组中的每一个数字 numfor(intnum:nums){// 如果当前票数为 0说明之前的候选者已被完全抵消// 此时选择当前 num 作为新的候选众数if(votes0)xnum;// 更新票数// - 如果当前数字 num 等于当前候选者 x则票数 1获得一票// - 否则票数 -1被一个不同元素抵消一票// 利用三元运算符num x ? 1 : -1votesnumx?1:-1;}// 由于题目保证存在“多数元素”出现次数 n/2// 最终剩下的候选者 x 必然是真正的众数直接返回即可returnx;}}