aboutsummaryrefslogtreecommitdiff
path: root/contains_duplicate.c
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2025-03-01 00:18:13 -0700
committerJack Sangdahl <[email protected]>2025-03-01 00:18:13 -0700
commitbf357e5cbc5730591b60379006396ea613ba4987 (patch)
tree56cbe3c7e456644e0f618e52804c414daf46d77b /contains_duplicate.c
parentcb847deddeb96a01211dd1e4c4ea9c7c16a29109 (diff)
downloadleetcode-bf357e5cbc5730591b60379006396ea613ba4987.tar.gz
leetcode-bf357e5cbc5730591b60379006396ea613ba4987.zip
217. contains duplicate
Diffstat (limited to 'contains_duplicate.c')
-rw-r--r--contains_duplicate.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/contains_duplicate.c b/contains_duplicate.c
new file mode 100644
index 0000000..8a07188
--- /dev/null
+++ b/contains_duplicate.c
@@ -0,0 +1,25 @@
+// 217. Contains Duplicate
+#include "leetcode.h"
+
+/*
+ * given an integer array 'nums', return true if any value appears at least
+ * twice in the array, and return false if every element is distinct
+ */
+
+int cmp(const void *a, const void *b) { return (*(int *)a - *(int *)b); }
+
+bool containsDuplicate(int *nums, int numsSize) {
+ qsort(nums, numsSize, sizeof(int), cmp);
+ for (int i = 1; i < numsSize; i++)
+ if (nums[i] == nums[i - 1])
+ return true;
+ return false;
+}
+
+int main() {
+ int n1[] = {1, 2, 3, 1}, n2[] = {1, 2, 3, 4},
+ n3[] = {1, 1, 1, 3, 3, 4, 3, 2, 4, 2};
+ printf("%d\n", containsDuplicate(n1, ARRAY_SIZE(n1))); // expect: 1
+ printf("%d\n", containsDuplicate(n2, ARRAY_SIZE(n2))); // expect: 0
+ printf("%d\n", containsDuplicate(n3, ARRAY_SIZE(n3))); // expect: 1
+}