Arrays Practical Tasks - Below and Above Average

Здравейте,

Нещо има голямо разминаване на outputs в Judge и outputs в InteliJidea, долу са представени разликите им:


Тест 1:
Input: -12,0,0,0,-2,3,13,5,1

Expected Output:
avg: 0.89
below: -12,0,0,0,-2
above: 3,13,5,1

My output:
avg: 0.89
below: -12,0,0,-2
above: 3,13,5,1

Според IntelijIdea - тестът не минава заради загубената нула.
Според Judge - Това е единствен тест който минава кодът ми.


Тест 2:
Input: 0,-1,1

Expected output:
avg: 0.00
below: 0,-1
above: 1

My output:
avg: 0.00
below: 0
above: 1
не се принтира -1


Тест 3:
Input: 0,-1,0,-1,0,-12,0,-2,123,12,3

Expected output:
avg: 11.09
below: 0,-1,0,-1,0,-12,0,-2
above: 123,12,3

My output:
avg: 11.09
below: 0,-1,0,0,-12,0,-2
above: 123,12,3
//!!! не се принтира -1


Test 4:
Input: -1,-123,-123,-1,-12

Expected output:
avg: -52.00
below: -1,-123,-123,-1,-12
above:

My output:
avg: -52.00
below: -1,-123,-123,-1,-12
above:
Според IntelijIdea - тестът минава.
Според Judge - тестът не минава.


Тест 5:
Input: 0,0,2,1,5

Expected output:
avg: 1.60
below: 0,0
above: 2,1,5

My output:
avg: 1.60
below: 0,0
above: 2,1,5
Според IntelijIdea - тестът минава.
Според Judge - тестът не минава.


Моля за съвети:

  1. Защо не се принтира -1
  2. Защо неминават тестовете които принтират верният output?

Кодът:

Благодаря предварително!

Привет,
Изглежда разделяш входните данни на положителни и отрицателни, а не под средната и над средната стойност. Виждам, че калкулираш средната стойност в края на кода - а трябва да е в началото и после да сравняваш кой елемент е below и кой above средната стойност. Освен това правиш една допълнилна ненужна проверка

i != nums[nums.length - 1]

и поради това ти се губи тази минус единица
Успех!

1 Like