首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算模式

计算模式
EN

Stack Overflow用户
提问于 2013-10-28 06:32:23
回答 1查看 74关注 0票数 0

我知道这就是计算数据数组的模式的方法。

代码语言:javascript
复制
public double mode() {
    int maxValue=0, maxCount=0;
    for (int i = 0; i < a.length; i++) {
        int count = 0;
        for (int j = 0; j < a.length; j++) {
            if (a[j] == a[i])
                ++count;
            }
        }
        if (count > maxCount) {
            maxCount = count;
            maxValue = a[i];
        }
    }
return maxValue; }

当有多个值可以是模式时,我遇到了一个问题。所以如果有多个值是一个模式,我想输出(返回Double.NaN;)。我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2013-10-28 06:40:14

添加计数相等时的条件:

代码语言:javascript
复制
if (count > maxCount) {
  maxCount = count;
  maxValue = a[i];
} else if (count == maxCount && maxValue != a[i]) {
  maxValue = Double.NaN;
}

演示(使用Javascript):http://jsfiddle.net/Guffa/xWvAV/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19624430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档