Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

2 0
Read Time:2 Minute, 15 Second

Given an array of integers, calculate the ratios of its elements that are positivenegative, and zero. Print the decimal value of each fraction on a new line with  places after the decimal.

Note: This challenge introduces precision problems. The test cases are scaled to six decimal places, though answers with absolute error of up to  are acceptable.

Example

There are  elements, two positive, two negative and one zero. Their ratios are ,  and . Results are printed as:

0.400000
0.400000
0.200000

Function Description

Complete the plusMinus function in the editor below.

plusMinus has the following parameter(s):

  • int arr[n]: an array of integers

Print
Print the ratios of positive, negative and zero values in the array. Each value should be printed on a separate line with  digits after the decimal. The function should not return a value.

Input Format

The first line contains an integer, , the size of the array.
The second line contains  space-separated integers that describe .

Constraints

Output Format

Print the following  lines, each to  decimals:

  1. proportion of positive values
  2. proportion of negative values
  3. proportion of zeros

Sample Input

STDIN           Function
-----           --------
6               arr[] size n = 6
-4 3 -9 0 4 1   arr = [-4, 3, -9, 0, 4, 1]

Sample Output

0.500000
0.333333
0.166667

-----------------------------------------xxxxxxxx-----------------------------

Java Code

2021
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

class Result {

    /*
     * Complete the 'plusMinus' function below.
     *
     * The function accepts INTEGER_ARRAY arr as parameter.
     */

    public static void plusMinus(List<Integer> arr) {
   // porpostion  of positive numbers 
        // porpostion of negative  numbers
        // zeros
        int positive_numbers=0;
        int negative_numbers=0;
        int zero_numbers=0;
        int total_numbers=arr.size();
        
     for(Integer var: arr) {
             if(var ==0) {
                 zero_numbers+=1;
             }
             else if(var <0) {
                 negative_numbers+=1;
             }else {
                 positive_numbers+=1;
             }
         }
     double positive=(double)positive_numbers/total_numbers; 
     double negative=(double)negative_numbers/total_numbers; 
     double zeros=(double)zero_numbers/total_numbers; 
     
     System.out.println(String.format("%.6f",positive));
     System.out.println(String.format("%.6f",negative));
     System.out.println(String.format("%.6f",zeros));
    

    }

}

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(bufferedReader.readLine().trim());

        List<Integer> arr = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
            .map(Integer::parseInt)
            .collect(toList());

        Result.plusMinus(arr);

        bufferedReader.close();
    }
}
Happy
Happy
30 %
Sad
Sad
20 %
Excited
Excited
10 %
Sleepy
Sleepy
10 %
Angry
Angry
30 %
Surprise
Surprise
0 %

About Author

Average Rating

5 Star
39%
4 Star
21%
3 Star
15%
2 Star
21%
1 Star
3%

977 thoughts on “Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

  1. I have noticed that of all different types of insurance, health insurance is the most marked by controversy because of the discord between the insurance policies company’s need to remain afloat and the client’s need to have insurance. Insurance companies’ earnings on wellness plans are low, consequently some businesses struggle to earn profits. Thanks for the tips you discuss through your blog.

  2. Thanks for a marvelous posting! I actually enjoyed reading it, you could be a great author.I will ensure that I bookmark your blog and will eventually come back later in life. I want to encourage that you continue your great posts, have a nice weekend!

  3. Приготовьтесь к захватывающему путешествию в мир микрофинансов! На нашем сайте каждый займ – это целая история, полная данных и анализа. Возрастные ограничения? Давайте посмотрим, почему с 18 лет вы уже в игре. Без подтверждения дохода? Разберем, как это возможно. Выбор способа получения денег? Анализируем преимущества каждого варианта. Наш сайт – это не только ворота в мир займов, но и ваш надежный аналитический компаньон.

    Mikro-Zaim-Online – экспресс займ на карту ваш финансовый союзник: надежные займы для каждого с 18 лет.

  4. В мире микрофинансирования царит неопределенность, но наш сайт приносит ясность. Собрав более 50 МФО России, мы предлагаем непревзойденный выбор. Откройте для себя редкие и малоизвестные микрофинансовые организации, скрытые от широкой публики. Здесь, без лишних слов, вы получите советы по оформлению заявок, увеличивающие шансы на успех. Мы предлагаем займы с 18 лет, минуя традиционные барьеры подтверждения дохода и проверки кредитной истории.

    Mikro-Zaim-Online – мфо займы онлайн на карту микрозаймы на каждый случай: выберите свой идеальный вариант.

  5. hello there and thank you for your information ? I have definitely picked up anything new from right here. I did however expertise several technical issues using this site, as I experienced to reload the website lots of times previous to I could get it to load properly. I had been wondering if your web host is OK? Not that I am complaining, but slow loading instances times will very frequently affect your placement in google and could damage your high-quality score if ads and marketing with Adwords. Anyway I am adding this RSS to my email and can look out for much more of your respective interesting content. Make sure you update this again soon..

  6. Thanks for sharing superb informations. Your website is so cool. I’m impressed by the details that you have on this site. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for more articles. You, my friend, ROCK! I found simply the information I already searched everywhere and just couldn’t come across. What a perfect site.

  7. Thanks for your write-up. I also believe laptop computers have grown to be more and more popular today, and now are often the only form of computer employed in a household. This is due to the fact that at the same time that they are becoming more and more very affordable, their working power keeps growing to the point where they are as highly effective as desktop computers through just a few in years past.

Leave a Reply

Your email address will not be published. Required fields are marked *