{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
Given an array of integers, find if the array contains any duplicates.
\n", "\n", "Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
\n", "\n", "Example 1:
\n", "\n", "Input: [1,2,3,1]\n",
"Output: true\n",
"\n",
"Example 2:
\n", "\n", "Input: [1,2,3,4]\n",
"Output: false\n",
"\n",
"Example 3:
\n", "\n", "Input: [1,1,1,3,3,4,3,2,4,2]\n",
"Output: true\n",
"\n",
"\n",
"\n", "Source \n", "
Can you solve it with O(1) Space Complexity (i.e. constant memory)?
" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def contains_duplicate(nums):\n", " \"\"\"using sort, and check consecutive items\n", " Time Complexity: O(nlogn)\n", " Space Complexity: O(1)\n", " \"\"\"\n", " if len(nums) < 2:\n", " return False\n", " nums.sort()\n", " for i, num in enumerate(nums[:-1]):\n", " if num == nums[i+1]:\n", " return True\n", " return False" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nums = [1,2,3,1]\n", "contains_duplicate(nums)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nums = [1,2,3,4]\n", "contains_duplicate(nums)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nums = [1,1,1,3,3,4,3,2,4,2]\n", "contains_duplicate(nums)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2" } }, "nbformat": 4, "nbformat_minor": 1 }