【问题标题】:coding bat ap-1 scoresIncreasingcodingbat ap-1 分数越来越高
【发布时间】:2017-04-26 01:11:10
【问题描述】:

给定一个分数数组,如果每个分数等于或大于前一个分数,则返回 true。数组长度为 2 或更多。

             scoresIncreasing([1, 3, 4]) → true
             scoresIncreasing([1, 3, 2]) → false
             scoresIncreasing([1, 1, 4]) → true

我的解决方案

public boolean scoresIncreasing(int[] scores) {
  for (int i = 1; i < scores.length; i++){
      if (scores[i] >= scores[i - 1]) return true;

  }
     return false;
 }

你能解释一下为什么它不起作用吗?

【问题讨论】:

  • 改变这个 --> if (scores[i] &gt;= scores[i - 1]) return true; 到这个 --> if (scores[i] &lt; scores[i - 1]) return false; 然后最后做return true。有关更多信息,请参阅下面的答案。

标签: java


【解决方案1】:

一旦找到“增加”的分数,您就会立即返回,而无需处理数组中稍后可能会降低分数的可能性(如在第二个测试用例中 3 > 1 所以返回 true,但随后 2

我没有发布正确的代码,因为这看起来像是家庭作业。

【讨论】:

  • @OusmaneMahyDiaw 不管怎样,这是一个练习,所以给出一个完整的答案并不适合我。我认为指出缺陷并让 OP 修复它比偷窃他们自己做的机会要好。
  • 绝对同意^^。
猜你喜欢
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 2013-05-13
  • 1970-01-01
  • 2016-03-05
  • 2014-05-02
相关资源
最近更新 更多