在Java中,可以通過一些算法來求一組數的中位數和眾數。中位數是指將一個數據樣本中所有數據按照從小到大的順序排列后,處于中間位置的那個值;而眾數則是指一組數中出現頻率最高的數。
// 求中位數的代碼 public static double median(int[] nums) { Arrays.sort(nums); int len = nums.length; if (len % 2 == 0) { return (nums[len/2 - 1] + nums[len/2]) / 2.0; } else { return nums[len/2]; } }
上面這段代碼將數組排序后,判斷數組長度的奇偶性來確定中位數的位置并計算值。
// 求眾數的代碼 public static int mode(int[] nums) { Mapmap = new HashMap<>(); int maxFreq = 0; int mode = nums[0]; for (int num : nums) { int freq = map.getOrDefault(num, 0) + 1; map.put(num, freq); if (freq >maxFreq) { maxFreq = freq; mode = num; } } return mode; }
上面這段代碼使用哈希表統計數組元素出現的頻率,然后遍歷哈希表來找到出現頻率最高的元素,即眾數。
以上就是求一組數的中位數和眾數的Java代碼,希望能對您有所幫助。
下一篇css優化怎么做