Java Array Problems with Solutions
1. Print all elements of an array
int[] arr = {10, 20, 30, 40, 50};
for (int i = 0; i < [Link]; i++) {
[Link]("Element at index " + i + " : " + arr[i]);
}
2. Find the minimum element
int[] arr = {5, 7, 2, 9, 1};
int min = arr[0];
for (int num : arr) {
if (num < min) min = num;
}
[Link]("Minimum element: " + min);
3. Count even and odd numbers
int[] arr = {2, 5, 7, 8, 10, 13};
int even = 0, odd = 0;
for (int num : arr) {
if (num % 2 == 0) even++;
else odd++;
}
[Link]("Even count: " + even);
[Link]("Odd count: " + odd);
4. Search an element (Linear Search)
int[] arr = {10, 25, 30, 40, 55};
int key = 30;
boolean found = false;
for (int num : arr) {
if (num == key) {
found = true; break;
}
}
[Link](found ? key + " found." : key + " not found.");
5. Find largest element
int[] arr = {10, 25, 7, 99, 42};
int max = arr[0];
for (int num : arr) {
if (num > max) max = num;
}
[Link]("Largest element: " + max);
6. Find second largest element
int[] arr = {12, 35, 1, 10, 34, 1};
int first = Integer.MIN_VALUE, second = Integer.MIN_VALUE;
for (int num : arr) {
if (num > first) {
second = first; first = num;
} else if (num > second && num != first) {
second = num;
}
}
[Link]("Second largest: " + second);
7. Check if array is sorted
int[] arr = {2, 4, 6, 8, 10};
boolean sorted = true;
for (int i = 0; i < [Link] - 1; i++) {
if (arr[i] > arr[i + 1]) {
sorted = false; break;
}
}
[Link](sorted ? "Sorted" : "Not sorted");
8. Reverse an array (simple)
int[] arr = {1, 2, 3, 4, 5};
for (int i = [Link] - 1; i >= 0; i--) {
[Link](arr[i] + " ");
}
9. Reverse array in-place
int[] arr = {10, 20, 30, 40, 50};
int start = 0, end = [Link] - 1;
while (start < end) {
int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp;
start++; end--;
}
[Link]([Link](arr));
10. Remove duplicates (sorted array)
int[] arr = {1, 1, 2, 2, 3, 4, 4, 5};
int n = [Link], j = 0;
for (int i = 0; i < n - 1; i++) {
if (arr[i] != arr[i + 1]) arr[j++] = arr[i];
}
arr[j++] = arr[n - 1];
for (int i = 0; i < j; i++) [Link](arr[i] + " ");
11. Find duplicate elements
int[] arr = {3, 6, 8, 3, 2, 6};
for (int i = 0; i < [Link]; i++) {
for (int j = i + 1; j < [Link]; j++) {
if (arr[i] == arr[j]) {
[Link]("Duplicate: " + arr[i]);
}
}
}
12. Sum of all elements
int[] arr = {5, 10, 15, 20};
int sum = 0;
for (int num : arr) sum += num;
[Link]("Sum = " + sum);
13. Average of array elements
int[] arr = {10, 20, 30, 40, 50};
int sum = 0;
for (int num : arr) sum += num;
double avg = (double) sum / [Link];
[Link]("Average = " + avg);
14. Rotate array by k positions
int[] arr = {1, 2, 3, 4, 5};
int k = 2, n = [Link];
int[] rotated = new int[n];
for (int i = 0; i < n; i++) rotated[(i + k) % n] = arr[i];
[Link]([Link](rotated));
15. Find pair with given sum
int[] arr = {2, 7, 11, 15};
int target = 9;
for (int i = 0; i < [Link]; i++) {
for (int j = i + 1; j < [Link]; j++) {
if (arr[i] + arr[j] == target) {
[Link]("(" + arr[i] + ", " + arr[j] + ")");
}
}
}
16. Find frequency of each element
int[] arr = {1, 2, 2, 3, 4, 4, 4};
boolean[] visited = new boolean[[Link]];
for (int i = 0; i < [Link]; i++) {
if (visited[i]) continue;
int count = 1;
for (int j = i + 1; j < [Link]; j++) {
if (arr[i] == arr[j]) {
visited[j] = true; count++;
}
}
[Link](arr[i] + " occurs " + count + " times");
}
17. Merge two arrays
int[] arr1 = {1, 3, 5};
int[] arr2 = {2, 4, 6};
int[] merged = new int[[Link] + [Link]];
int i = 0, j = 0, k = 0;
while (i < [Link] && j < [Link]) {
if (arr1[i] < arr2[j]) merged[k++] = arr1[i++];
else merged[k++] = arr2[j++];
}
while (i < [Link]) merged[k++] = arr1[i++];
while (j < [Link]) merged[k++] = arr2[j++];
[Link]([Link](merged));
18. Binary search (sorted array)
int[] arr = {10, 20, 30, 40, 50};
int key = 30;
int low = 0, high = [Link] - 1, mid;
boolean found = false;
while (low <= high) {
mid = (low + high) / 2;
if (arr[mid] == key) { found = true; break; }
else if (arr[mid] < key) low = mid + 1;
else high = mid - 1;
}
[Link](found ? "Found" : "Not found");
19. Sort array (Bubble Sort)
int[] arr = {5, 1, 4, 2, 8};
for (int i = 0; i < [Link] - 1; i++) {
for (int j = 0; j < [Link] - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp;
}
}
}
[Link]([Link](arr));
20. Move zeros to end
int[] arr = {0, 1, 0, 3, 12};
int index = 0;
for (int num : arr) if (num != 0) arr[index++] = num;
while (index < [Link]) arr[index++] = 0;
[Link]([Link](arr));