From 6aafbfb44819b6519a8102d9abb300ebcb391338 Mon Sep 17 00:00:00 2001 From: burny Date: Sun, 27 Aug 2023 02:33:23 +0200 Subject: [PATCH] Add leetcode nim 169 solution --- problem_sites/leetcode/nim/majority_element.nim | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 problem_sites/leetcode/nim/majority_element.nim diff --git a/problem_sites/leetcode/nim/majority_element.nim b/problem_sites/leetcode/nim/majority_element.nim new file mode 100644 index 00000000..e24fb5a9 --- /dev/null +++ b/problem_sites/leetcode/nim/majority_element.nim @@ -0,0 +1,14 @@ +# 169 +# https://leetcode.com/problems/majority-element/ +# nim js -d:release -o:majority_element_js.js majority_element.nim +# nim js -d:danger -o:majority_element_js.js majority_element.nim + +import tables + +proc majorityElement(nums: seq[int]): int {.exportc.} = + let cache = newTable[int, int]() + for i in nums: + let count = cache.getOrDefault(i, 0) + 1 + if count > nums.len div 2: + return i + cache[i] = count