Given an array of integers, calculate the ratios of its elements that are positive, negative, 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:
- proportion of positive values
- proportion of negative values
- 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();
}
}

I’m truly enjoying the design and layout of your site. It’s a very easy on the eyes which makes it much more enjoyable for me to come here and visit more often. Did you hire out a designer to create your theme? Great work!
Very good information. Lucky me I ran across your site by accident (stumbleupon).
I’ve saved it for later!
Thank you for sharing indeed great looking !
One thing I would like to say is the fact before acquiring more laptop memory, check out the machine within which it can be installed. Should the machine will be running Windows XP, for instance, the actual memory ceiling is 3.25GB. Adding in excess of this would merely constitute just a waste. Be sure that one’s mother board can handle the particular upgrade amount, as well. Thanks for your blog post.
Very good information. Lucky me I recently found your site by chance (stumbleupon). I’ve saved as a favorite for later!
I can’t express how much I value the effort the author has put into creating this outstanding piece of content. The clarity of the writing, the depth of analysis, and the abundance of information presented are simply astonishing. Her zeal for the subject is evident, and it has certainly made an impact with me. Thank you, author, for providing your insights and enhancing our lives with this extraordinary article!
hello there and thank you in your info ? I?ve certainly picked up something new from right here. I did however experience several technical issues using this web site, as I skilled to reload the website many occasions prior to I may just get it to load correctly. I have been brooding about in case your web host is OK? Not that I’m complaining, but sluggish loading cases occasions will very frequently affect your placement in google and can damage your high-quality ranking if ads and ***********|advertising|advertising|advertising and *********** with Adwords. Anyway I am adding this RSS to my e-mail and can glance out for much extra of your respective fascinating content. Make sure you replace this once more very soon..
I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.
Do you have a spam issue on this website; I also am a blogger, and I was wanting to know your situation; we have created some nice methods and we are looking to exchange techniques with others, be sure to shoot me an e-mail if interested.
Great web site you have got here.. It’s difficult to find quality writing like yours nowadays. I honestly appreciate individuals like you! Take care!!