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. Esti in cautarea unei modalitati rapide si convenabile de a-ti improspata garderoba cu haine pentru femei de calitate? PUMA Moldova este alegerea perfecta pentru tine! Cu o varietate impresionanta de optiuni, de la bluze si pantaloni pana la rochii si imbracaminte sport, site-ul nostru haine pentru femei este destinat sa satisfaca toate preferintele si stilurile.Navigarea pe site-ul nostru este extrem de simpla si placuta. Cu doar cateva clicuri, vei descoperi o gama vasta de produse trendy si confortabile, fabricate din materiale de cea mai buna calitate. Fie ca esti in cautare de o tinuta casual pentru ziua de lucru sau de echipamentul sportiv perfect pentru antrenamentul de dimineata, PUMA Moldova are tot ce iti trebuie.

  2. Hello there! This article couldn’t be written any better! Looking at this article reminds me of my previous roommate! He always kept talking about this. I’ll send this post to him. Fairly certain he’s going to have a great read. Thanks for sharing!

  3. A motivating discussion is worth comment. I believe that you ought to publish more about this subject, it might not be a taboo subject but generally people don’t talk about these subjects. To the next! Kind regards!

  4. Profitati de oportunitatea de a imbunatati atat performanta cat si stilul cu incaltamintea de top de la Puma. Vizitati site-ul nostru acum si alegeti modelele care va definesc cel mai bine personalitatea si nevoile!Sunteti in cautarea unor pantofi de inalta calitate? Explorati oferta noastra exclusiva pe incaltaminte unde veti gasi cea mai variata selectie de incaltaminte Puma. Indiferent daca doriti pantofi pentru jogging, optiuni elegante pentru uz zilnic sau incaltaminte robusta pentru antrenamente intense, Puma Moldova are tot ce va trebuie pentru a satisface fiecare preferinta.

  5. An outstanding share! I’ve just forwarded this onto a friend who has been doing a little homework on this. And he in fact ordered me breakfast because I discovered it for him… lol. So allow me to reword this…. Thank YOU for the meal!! But yeah, thanx for spending the time to discuss this topic here on your blog.

  6. When I initially left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and from now on every time a comment is added I recieve four emails with the exact same comment. Is there a means you can remove me from that service? Thanks a lot.

  7. Descoperiti cele mai stilate tricouri la Puma Moldova! Cu o varietate impresionanta de modele si culori, magazinul nostru este locul perfect pentru a gasi tricoul ideal care sa va completeze tinuta sportiva sau casual.Fie ca sunteti in cautarea unui tricou pentru antrenamente intense sau pentru o iesire relaxanta cu prietenii, Puma Moldova ofera calitate exceptionala si confort. Designurile noastre sunt nu doar functionale, dar si moderne, asigurandu-se ca veti arata bine in orice situatie.Navigati simplu si rapid pe site-ul nostru pentru a vedea toate optiunile disponibile. Alegeti marimea care va se potriveste perfect, adaugati produsul in cos si finalizati cumparatura in cateva minute. Livrarea este rapida si sigura, asa ca puteti incepe sa va bucurati de noul dvs. tricou cat mai curand posibil.

  8. I really love your site.. Pleasant colors & theme. Did you create this site yourself? Please reply back as I’m wanting to create my own personal site and want to learn where you got this from or what the theme is called. Appreciate it.

Leave a Reply

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