import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static void main
(String[] args
) { int numbers[] = {1, 5, -9, 12, -3, 89, 18, 23, 4, -6};
// Find minimum (lowest) value in array
System.
out.
println("Minimum Value = " + getMinValue
(numbers
));
// Find maximum (largest) value in array
System.
out.
println("Maximum Value = " + getMaxValue
(numbers
));
// Calculate and print average
System.
out.
println("Average Value = " + getAvgValue
(numbers
));
// Sort and print the array
System.
out.
print("Sorted Array = "); for (int num : numbers) {
}
// Challenge: Print the array in reverse
System.
out.
print("Reversed Array = "); for (int i = numbers.length - 1; i >= 0; i--) {
System.
out.
print(numbers
[i
] + " "); }
// Challenge: Count positive and negative numbers
countPosNeg(numbers);
}
// Find maximum (largest) value in array
public static int getMaxValue(int[] numbers) {
int maxValue = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > maxValue) {
maxValue = numbers[i];
}
}
return maxValue;
}
// Find minimum (lowest) value in array
public static int getMinValue(int[] numbers) {
int minValue = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] < minValue) {
minValue = numbers[i];
}
}
return minValue;
}
// Find the average of an array of integers
public static double getAvgValue(int[] numbers) {
double sum = 0;
for (int i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
double average = sum / numbers.length;
return average;
}
// Challenge: Count how many numbers are positive or negative
public static void countPosNeg(int[] numbers) {
int pos = 0, neg = 0;
for (int num : numbers) {
if (num > 0) pos++;
else if (num < 0) neg++;
}
System.
out.
println("Positive Count = " + pos
); System.
out.
println("Negative Count = " + neg
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgaW50IG51bWJlcnNbXSA9IHsxLCA1LCAtOSwgMTIsIC0zLCA4OSwgMTgsIDIzLCA0LCAtNn07CgogICAgICAgIC8vIEZpbmQgbWluaW11bSAobG93ZXN0KSB2YWx1ZSBpbiBhcnJheQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTWluaW11bSBWYWx1ZSA9ICIgKyBnZXRNaW5WYWx1ZShudW1iZXJzKSk7CgogICAgICAgIC8vIEZpbmQgbWF4aW11bSAobGFyZ2VzdCkgdmFsdWUgaW4gYXJyYXkKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1heGltdW0gVmFsdWUgPSAiICsgZ2V0TWF4VmFsdWUobnVtYmVycykpOwoKICAgICAgICAvLyBDYWxjdWxhdGUgYW5kIHByaW50IGF2ZXJhZ2UKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkF2ZXJhZ2UgVmFsdWUgPSAiICsgZ2V0QXZnVmFsdWUobnVtYmVycykpOwoKICAgICAgICAvLyBTb3J0IGFuZCBwcmludCB0aGUgYXJyYXkKICAgICAgICBBcnJheXMuc29ydChudW1iZXJzKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJTb3J0ZWQgQXJyYXkgPSAiKTsKICAgICAgICBmb3IgKGludCBudW0gOiBudW1iZXJzKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQobnVtICsgIiAiKTsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgogICAgICAgIC8vIENoYWxsZW5nZTogUHJpbnQgdGhlIGFycmF5IGluIHJldmVyc2UKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJSZXZlcnNlZCBBcnJheSA9ICIpOwogICAgICAgIGZvciAoaW50IGkgPSBudW1iZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQobnVtYmVyc1tpXSArICIgIik7CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwoKICAgICAgICAvLyBDaGFsbGVuZ2U6IENvdW50IHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBudW1iZXJzCiAgICAgICAgY291bnRQb3NOZWcobnVtYmVycyk7CiAgICB9CgogICAgLy8gRmluZCBtYXhpbXVtIChsYXJnZXN0KSB2YWx1ZSBpbiBhcnJheQogICAgcHVibGljIHN0YXRpYyBpbnQgZ2V0TWF4VmFsdWUoaW50W10gbnVtYmVycykgewogICAgICAgIGludCBtYXhWYWx1ZSA9IG51bWJlcnNbMF07CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBudW1iZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChudW1iZXJzW2ldID4gbWF4VmFsdWUpIHsKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gbnVtYmVyc1tpXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gbWF4VmFsdWU7CiAgICB9CgogICAgLy8gRmluZCBtaW5pbXVtIChsb3dlc3QpIHZhbHVlIGluIGFycmF5CiAgICBwdWJsaWMgc3RhdGljIGludCBnZXRNaW5WYWx1ZShpbnRbXSBudW1iZXJzKSB7CiAgICAgICAgaW50IG1pblZhbHVlID0gbnVtYmVyc1swXTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IG51bWJlcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKG51bWJlcnNbaV0gPCBtaW5WYWx1ZSkgewogICAgICAgICAgICAgICAgbWluVmFsdWUgPSBudW1iZXJzW2ldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBtaW5WYWx1ZTsKICAgIH0KCiAgICAvLyBGaW5kIHRoZSBhdmVyYWdlIG9mIGFuIGFycmF5IG9mIGludGVnZXJzCiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBnZXRBdmdWYWx1ZShpbnRbXSBudW1iZXJzKSB7CiAgICAgICAgZG91YmxlIHN1bSA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1iZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHN1bSArPSBudW1iZXJzW2ldOwogICAgICAgIH0KICAgICAgICBkb3VibGUgYXZlcmFnZSA9IHN1bSAvIG51bWJlcnMubGVuZ3RoOwogICAgICAgIHJldHVybiBhdmVyYWdlOwogICAgfQoKICAgIC8vIENoYWxsZW5nZTogQ291bnQgaG93IG1hbnkgbnVtYmVycyBhcmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBjb3VudFBvc05lZyhpbnRbXSBudW1iZXJzKSB7CiAgICAgICAgaW50IHBvcyA9IDAsIG5lZyA9IDA7CiAgICAgICAgZm9yIChpbnQgbnVtIDogbnVtYmVycykgewogICAgICAgICAgICBpZiAobnVtID4gMCkgcG9zKys7CiAgICAgICAgICAgIGVsc2UgaWYgKG51bSA8IDApIG5lZysrOwogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBvc2l0aXZlIENvdW50ID0gIiArIHBvcyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJOZWdhdGl2ZSBDb3VudCA9ICIgKyBuZWcpOwogICAgfQp9Cg==