• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zwracanie unikalnych wartości z tablicy

0 głosów
1,102 wizyt
pytanie zadane 27 listopada 2022 w Java przez sylwka128 Nowicjusz (170 p.)

Cześć, 

mam zadanko jak poniżej:

W pliku Main01.java umieść metodę o sygnaturze:
public static int[] returnUnique(int[] arr).

Uzupełnij ciało metody w taki sposób by z tablicy arr wybrała tylko unikalne wartości, które następnie mają być zwrócone z metody.
Przykład: dla tablicy [1,1,2,3,3,4], powinniśmy otrzymać [1,2,3,4].

import java.util.Arrays;

public class Main01 {
    public static void main(String[] args) {
        int[]arr = {1, 2, 1, 3, 3, 4, 12, 19, 3, 7, 1};
        int[]result = returnUnique(arr);
        System.out.println(Arrays.toString(result));
    }
    public static int[] returnUnique(int[]arr) {
        for(int i=1; i<arr.length-1; i++){
            if(arr[i-1]!=arr[i]){
                if(arr[i-1]==arr[i+1]) return new int[]{arr[i]};
                else return new int[]{arr[i - 1]};
            }
        }
        return new int[]{arr[arr.length - 1]};
    }
    }

Wychodzi mi z tego wynik 2, a powinno być [1, 2, 3, 4, 12, 19, 7].
Czy tę część dotyczącą metody returnUnique można uprościć?

1 odpowiedź

0 głosów
odpowiedź 27 listopada 2022 przez adrian17 Mentor (355,180 p.)
wybrane 28 listopada 2022 przez sylwka128
 
Najlepsza

`return` kończy wywołanie funkcji i od razu zwraca wartość. Więc wykonuje się ta linia

if(arr[i-1]==arr[i+1]) return new int[]{arr[i]};

arr[i] to 2, więc zwraca się tablica z jednym elementem (2).

Musisz poczytać jak się stopniowo wypełnia tablice (czy ArrayListy, Sety etc) podczas wykonywania pętli (i zwrócić wynik tylko raz, już po zakończeniu pętli).

Podobne pytania

+1 głos
1 odpowiedź 1,244 wizyt
+1 głos
0 odpowiedzi 579 wizyt
pytanie zadane 22 kwietnia 2021 w C i C++ przez xTMx3 Obywatel (1,560 p.)
+1 głos
3 odpowiedzi 1,124 wizyt
pytanie zadane 16 kwietnia 2020 w Systemy operacyjne, programy przez Danielek123 Początkujący (250 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,326 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...