Menu
CoddyTech

Luyện tập #5

Bài học 14 trên 14 trong khóa học Bảng băm, loạt cấu trúc dữ liệu #4 của Coddy.

challenge icon

Thử thách

Dễ

Viết một hàm (function) firstNonRepeating nhận một mảng số nguyên arr và trả về phần tử đầu tiên chỉ xuất hiện đúng một lần (theo thứ tự duyệt).

Nếu mọi phần tử đều lặp lại, hãy trả về -1.

Bạn phải dùng lớp HashMap được cung cấp trong hashmap.<ext> — không dùng các cấu trúc tích hợp sẵn của ngôn ngữ như tập hợp, từ điển hoặc bản đồ.

Tự làm thử

#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 n = 0;
    char* tok = strtok(line, " \t\r\n");
    while (tok) { arr[n++] = atoi(tok); tok = strtok(NULL, " \t\r\n"); }
    int r = firstNonRepeating(arr, n);
    printf("%d\n", r);
    return 0;
}

Tất cả bài học trong Bảng băm, loạt cấu trúc dữ liệu #4

Tự luyện tập: Trình biên dịch C online