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. Мобильная версия бк Зенит zenitbet1.com

    По поиску регистрация бк зенит вы на нужном пути. Зеркало официального сайта Zenitbet легко осуществляет работу на территории России и абсолютно надежно. Вы можете без опаски вписывать свои данные и быть убеждены в том, что данные не могут быть заняты другими личностями. Также средства на счету находятся под защитой. Удобство в том, что сайт соответствует официальному и Вам не нужно будет привыкать к иной картинке. А также не нужно проходить вторичную регистрацию, если вы уже были на сайте. В зеркале хранятся Ваши пароли, вводите их и заходите в свой кошелек.

  2. Выбор перил для моей новой лестницы в доме был непростым заданием, учитывая разнообразие предложений в Москве. Однако, после изучения различных сайтов, я остановился на a-kovka.ru, где представлен широкий выбор кованых перил. Менеджеры помогли подобрать идеальный вариант, учитывая особенности моего интерьера. Перила были изготовлены точно в срок и установлены без каких-либо проблем. Качество исполнения и внимание к деталям сделали эту покупку одной из лучших инвестиций для моего дома.

    Добро пожаловать в кузницу “А-ковка” перила для лестниц купить в москве – ваш надежный партнер в создании красивых и функциональных перил для вашего дома. Мы находимся в Москве, всего в 91 километре от МКАД, и готовы предложить вам широкий выбор кованых изделий, выполненных опытными мастерами.

    Наша цена доступна для любого покупателя, а качество наших изделий всегда остается на высоте. Мы используем современное оборудование и материалы высокого качества, чтобы каждый заказчик остался доволен результатом. Кованые перила не только придают вашему интерьеру изысканный вид, но и являются прочным и долговечным решением для вашего дома. Закажите перила в нашей кузнице и убедитесь сами в высоком качестве наших изделий!

  3. I really love your blog.. Very nice colors & theme. Did you develop this amazing site yourself? Please reply back as I’m planning to create my own personal website and want to know where you got this from or exactly what the theme is named. Appreciate it!

  4. I have learned newer and more effective things through the blog post. One other thing I have found is that typically, FSBO sellers will certainly reject an individual. Remember, they might prefer to not use your services. But if anyone maintain a steady, professional connection, offering aid and staying in contact for about four to five weeks, you will usually have the ability to win a discussion. From there, a house listing follows. Thanks a lot

  5. Good post. I learn something new and challenging on sites I stumbleupon every day. It’s always helpful to read through articles from other writers and use something from their sites.

  6. It is indeed my belief that mesothelioma can be the most deadly cancer. It contains unusual properties. The more I actually look at it the greater I am certain it does not work like a true solid tissues cancer. In the event mesothelioma is usually a rogue viral infection, then there is the prospects for developing a vaccine plus offering vaccination for asbestos uncovered people who are at high risk with developing long run asbestos relevant malignancies. Thanks for sharing your ideas for this important ailment.

Leave a Reply

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