[LeetCode]Majority Element II
public class Solution { public List<Integer> majorityElement(int[] nums) { int can1 = 0, can2 = 0, num1 = 0, num2 = 0; for (int num : nums) { if (num1 == 0 || can1 == num) { can1 = num; num1 ++; } else if (num2 == 0 || can2 == num) { can2 = num; num2 ++; } else { num1 --; num2 --; } } num1 = 0; num2 = 0; for (int num : nums) { if (num == can1) { num1 ++; } else if (num == can2) { num2 ++; } } List<Integer> result = new ArrayList<Integer>(); if (num1 > nums.length / 3) { result.add(can1); } if (num2 > nums.length / 3) { result.add(can2); } return result; } }