      "collapsed": false
     },
     "outputs": [],
     "source": [
      "def unique_chars_alt2(string):\n",
      "    return len(set(string)) == len(string)"
     ]
    }
   ],
   "metadata": {
    "kernelspec": {
 
</s> remove     "    chars_set = set()\n",
    "    for char in string:\n",
    "        if char in chars_set:\n",
    "            return False\n",
    "        else:\n",
    "            chars_set.add(char)\n",
    "    return True\n",
 </s> add     "    return len(set(string)) == len(string)\n", </s> remove     "        if string.count(char) > 1:\n",
 </s> add     "        if char in chars_set:\n", </s> remove     "## Code"
 </s> add     "## Code: Hash Map Lookup" </s> remove     "## Code"
 </s> add     "## Code: Sets and Length Comparison"
    "def unique_chars_alt(string):\n",
    "    for char in string:\n",
    "        if string.count(char) > 1:\n",
    "            return False\n",
    "    return True"
      "collapsed": false
     },
     "outputs": [],
     "source": [
    "def unique_chars_alt(string):\n",
    "    for char in string:\n",
    "        if string.count(char) > 1:\n",
    "            return False\n",
    "    return True"
    "def unique_chars_alt(string):\n",
    "    for char in string:\n",
    "        if string.count(char) > 1:\n",
    "            return False\n",
    "    return True"
     ]
    }
   ],
   "metadata": {
    "kernelspec": {
keep keep keep keep replace replace keep keep keep keep keep
 Reworked algorithm descriptions.  Added notebook index.  Minor cleanup. 
arrays-strings/unique_chars.ipynb