Senior
//Naći prvi element u nizu celih brojeva koji se ne ponavlja int[] arr = {9, 4, 9, 6, 7, 4, 5}; int n = ...;
sobes.tech АИ
Одговор од АИ
Da biste pronašli prvi element koji se ne ponavlja u nizu celih brojeva, možete koristiti dva prolaza:
- U prvom prolazu prebrojite pojavljivanja svakog broja pomoću
HashMap. - U drugom prolazu prođite kroz niz i vratite prvi element čiji je broj pojavljivanja 1.
Primer u Javi:
import java.util.*;
public class Solution {
public static Integer firstNonRepeating(int[] arr) {
Map<Integer, Integer> countMap = new HashMap<>();
for (int num : arr) {
countMap.put(num, countMap.getOrDefault(num, 0) + 1);
}
for (int num : arr) {
if (countMap.get(num) == 1) {
return num;
}
}
return null; // ako nema nenastavljivih elemenata
}
public static void main(String[] args) {
int[] arr = {9, 4, 9, 6, 7, 4, 5};
Integer n = firstNonRepeating(arr);
System.out.println(n); // Ispisaće 6
}
}
Ovaj pristup je efikasan po vremenu — O(n), gde je n dužina niza.