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. Приобретение квартиры в новостройке – это важный и ответственный шаг, требующий тщательной подготовки и обдуманных решений. Одним из ключевых этапов на пути к покупке жилья является бронирование, которое позволяет зарезервировать выбранную квартиру и зафиксировать цену на нее. Услуга бронирование новостроек дает будущему покупателю не только уверенность в том, что квартира будет ждать его, но и гарантии прозрачности всех последующих этапов сделки.

    Бронирование квартиры в новостройке предоставляет значительные преимущества. Во-первых, это возможность “заморозить” стоимость недвижимости на момент бронирования. Учитывая постоянный рост цен на рынке недвижимости, это может означать значительную экономию для покупателя. Во-вторых, услуга бронирование квартиры в новостройке дает время для сбора необходимых документов и подготовки к сделке без риска потерять понравившуюся квартиру другому покупателю.

  2. Thanks for your write-up on this weblog. From my experience, there are times when softening upward a photograph could provide the professional photographer with a dose of an creative flare. More often than not however, that soft clouds isn’t just what exactly you had in your mind and can in many cases spoil an otherwise good image, especially if you thinking about enlarging it.

  3. Attractive section of content. I just stumbled upon your website and in accession capital to assert that I acquire actually enjoyed account your blog posts. Anyway I?ll be subscribing to your augment and even I achievement you access consistently quickly.

  4. Hi! I’ve been reading your web site for a while now and finally got the courage to go ahead and give you a shout out from Houston Texas! Just wanted to tell you keep up the great work!

  5. Финансовые сложности могут настигнуть каждого, но наш сайт всегда к вашим услугам. С mikro-zaim-online.ru вы можете получить онлайн займы на карту без отказа срочно, быстро и без лишних формальностей. Удобный интерфейс и простые условия помогут вам быстро найти подходящее предложение.

  6. Непредвиденные обстоятельства требуют оперативного решения, особенно когда речь идет о финансах. Сайт mikro-zaim-online.ru дает возможность взять онлайн кредит на карту без отказа, предлагая быстрый и простой процесс оформления займа. Это значит, что вам больше не придется беспокоиться о возможных отказах или необходимости предоставлять множество документов, что делает получение денег максимально удобным и доступным в любой ситуации.

  7. Yet another issue is that video games can be serious naturally with the main focus on knowing things rather than amusement. Although, we have an entertainment feature to keep children engaged, each one game is usually designed to work with a specific expertise or course, such as mathmatical or scientific discipline. Thanks for your posting.

  8. Hey there just wanted to give you a quick heads up. The text in your post seem to be running off the screen in Firefox. I’m not sure if this is a format issue or something to do with web browser compatibility but I figured I’d post to let you know. The design look great though! Hope you get the problem solved soon. Thanks

  9. I am no longer sure the place you are getting your information, but great topic. I needs to spend a while learning more or understanding more. Thank you for magnificent info I was searching for this info for my mission.

Leave a Reply

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