Menu
CoddyTech

Latihan #3

Pelajaran 12 dari 14 dalam kursus Linked List, Seri Struktur Data #5 di Coddy.

challenge icon

Tantangan

Mudah

Diberikan array bilangan bulat terurut arr (nilai-nilai dari linked list yang terurut), tulis fungsi removeDuplicates yang mengembalikan array dengan duplikat berurutan dihapus.

Karena input sudah terurut, nilai yang sama akan berada bersebelahan. Pertahankan kemunculan pertama setiap nilai dan lewati sisanya.

Gunakan linked list untuk menyelesaikan masalah ini!

Kamu harus menggunakan class LinkedList (disediakan dalam linkedlist.<ext> bersama node.<ext>) — jangan gunakan fitur bawaan bahasa seperti reverse bawaan array, slicing, atau operasi list dari pustaka standar untuk menghitung hasilnya.

Coba sendiri

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"

int main() {
    char line[8192];
    if (!fgets(line, sizeof(line), stdin)) line[0] = '\0';
    int arr[4096];
    int len = 0;
    char* tok = strtok(line, " \t\r\n");
    while (tok) { arr[len++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
    int rs = 0;
    int* r = removeDuplicates(arr, len, &rs);
    for (int idx = 0; idx < rs; idx++) {
        if (idx > 0) printf(" ");
        printf("%d", r[idx]);
    }
    printf("\n");
    return 0;
}

Semua pelajaran di Linked List, Seri Struktur Data #5

Latihan sendiri: Compiler C online