练习 #4
Coddy 哈希表:数据结构系列第 4 讲 课程的第 13 课,共 14 课。
挑战
简单编写一个函数 mostFrequent,接收一个非空整数数组 arr,并返回出现次数最多的元素。
如果有两个元素的出现次数并列最高,则返回最先达到该次数的元素(按扫描顺序最早出现的元素)。
你必须使用提供的 HashMap 类 hashmap.<ext>,不要使用集合、字典或映射等语言内置类型。
亲手试试
#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 = mostFrequent(arr, n);
printf("%d\n", r);
return 0;
}
哈希表:数据结构系列第 4 讲中的所有课
自己练习: C 在线编译器