面试题17.10 主要元素

  1. class Solution {
  2. public int majorityElement(int[] nums) {
  3. int i, c, count;
  4. c = nums[0];
  5. count = 1;
  6. for (i = 1; i < nums.length; i++) {
  7. if (nums[i] == c) {
  8. count += 1;
  9. }
  10. else {
  11. if (count > 0) {
  12. count -= 1;
  13. } else {
  14. c = nums[i];
  15. count = 1;
  16. }
  17. }
  18. }
  19. count = 0;
  20. for (i = 0; i < nums.length; i++) {
  21. if (nums[i] == c)
  22. count += 1;
  23. }
  24. if (count > nums.length / 2 )
  25. return c;
  26. else
  27. return -1;
  28. }
  29. }