数组中有一个数字出现的次数超过数组长度的一半
生活随笔
收集整理的這篇文章主要介紹了
数组中有一个数字出现的次数超过数组长度的一半
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
數組中有一個數字出現的次數超過數組長度的一半。請找出這個數字。
?
解答:
1 public class Solution { 2 3 public int MoreThanHalfNum_Solution(int [] array) { 4 if(array == null || array.length == 0) { 5 return 0; 6 } 7 8 int result = array[0]; 9 int count = 1; 10 11 for(int i = 1; i < array.length; i++) { 12 if(count == 0) { 13 result = array[i]; 14 count = 1; 15 } else if(array[i] == result) { 16 count++; 17 } else { 18 count--; 19 } 20 } 21 22 23 if(isHalf(array, result)) { 24 return result; 25 } else { 26 return 0; 27 } 28 29 } 30 31 private static boolean isHalf(int[] array, int num) { 32 int count = 0; 33 34 for(int i = 0; i < array.length; i++) { 35 if(array[i] == num) { 36 count++; 37 } 38 } 39 40 if(count > array.length / 2) { 41 return true; 42 } else { 43 return false; 44 } 45 } 46 }?
轉載于:https://www.cnblogs.com/wylwyl/p/10373932.html
總結
以上是生活随笔為你收集整理的数组中有一个数字出现的次数超过数组长度的一半的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Sdoi2010]古代猪文
- 下一篇: 8、Python MySQL - mys