[Go to site: main page, start]

0% found this document useful (0 votes)
14 views5 pages

Java Array Problems and Solutions

The document presents a series of Java array problems along with their solutions, covering various operations such as printing elements, finding minimum and maximum values, counting even and odd numbers, searching for elements, and more. It includes algorithms for sorting, reversing, merging arrays, and handling duplicates. Each problem is accompanied by code snippets demonstrating the solution in Java.

Uploaded by

tnsathvik
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views5 pages

Java Array Problems and Solutions

The document presents a series of Java array problems along with their solutions, covering various operations such as printing elements, finding minimum and maximum values, counting even and odd numbers, searching for elements, and more. It includes algorithms for sorting, reversing, merging arrays, and handling duplicates. Each problem is accompanied by code snippets demonstrating the solution in Java.

Uploaded by

tnsathvik
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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));

You might also like