|
7711 | 7711 | "cell_type": "code",
|
7712 | 7712 | "source": [
|
7713 | 7713 | "# https://leetcode.com/problems/zigzag-conversion/\n",
|
| 7714 | + "# ---- Work In Progress -----\n", |
| 7715 | + "\n", |
7714 | 7716 | "\n",
|
7715 | 7717 | "s = 'PAYPALISHIRING'\n",
|
7716 |
| - "print(len(s))\n", |
7717 | 7718 | "numRows = 4\n",
|
7718 | 7719 | "split_cnt = numRows//2\n",
|
| 7720 | + "numRows_init = numRows\n", |
7719 | 7721 | "\n",
|
7720 |
| - "counter = 0\n", |
7721 |
| - "while True: \n", |
7722 |
| - " print(counter)\n", |
7723 |
| - " if counter == len(s)-1 : \n", |
7724 |
| - " print('break condition')\n", |
7725 |
| - " break\n", |
7726 |
| - " for num in range(numRows,1,-1):\n", |
7727 |
| - " for a1 in range(num):\n", |
7728 |
| - " print(s[counter])\n", |
7729 |
| - " counter += 1\n", |
7730 |
| - " print(counter)\n", |
| 7722 | + "s = list(s)\n", |
| 7723 | + "#print(s)\n", |
7731 | 7724 | "\n",
|
7732 |
| - "\n" |
| 7725 | + "def zigzag_conversion(s, numRows): \n", |
| 7726 | + " if numRows == 1:\n", |
| 7727 | + " #return s\n", |
| 7728 | + " print(s)\n", |
| 7729 | + "\n", |
| 7730 | + " else:\n", |
| 7731 | + " direction = 'down'\n", |
| 7732 | + " arr=['' for x in range(numRows)]\n", |
| 7733 | + " print(arr)\n", |
| 7734 | + " count = 0\n", |
| 7735 | + " for val in s:\n", |
| 7736 | + " print(val)\n", |
| 7737 | + " if direction == 'down':\n", |
| 7738 | + " for i in range(numRows):\n", |
| 7739 | + " arr[i] += s[count]\n", |
| 7740 | + " count += 1\n", |
| 7741 | + " print(i)\n", |
| 7742 | + " direction = 'diagonal'\n", |
| 7743 | + " numRows -= 1\n", |
| 7744 | + " if direction == 'diagonal':\n", |
| 7745 | + " print('-----------diagonal-----------')\n", |
| 7746 | + " print(numRows)\n", |
| 7747 | + " for i in range(numRows):\n", |
| 7748 | + " if i != numRows-1:\n", |
| 7749 | + " arr[i] += ' '\n", |
| 7750 | + " else:\n", |
| 7751 | + " arr[i] += ' '+s[count]\n", |
| 7752 | + " count += 1\n", |
| 7753 | + " if numRows >= split_cnt:\n", |
| 7754 | + " direction = 'diagonal'\n", |
| 7755 | + " numRows -= 1\n", |
| 7756 | + " else: \n", |
| 7757 | + " direction = 'down'\n", |
| 7758 | + " numRows = numRows_init\n", |
| 7759 | + "\n", |
| 7760 | + " for i in range(numRows_init):\n", |
| 7761 | + " print(arr[i], end = \"\\n\")\n", |
| 7762 | + " #print(arr)\n", |
| 7763 | + "\n", |
| 7764 | + "\n", |
| 7765 | + "zigzag_conversion(s, numRows)\n" |
7733 | 7766 | ],
|
7734 | 7767 | "metadata": {
|
7735 | 7768 | "colab": {
|
7736 | 7769 | "base_uri": "https://localhost:8080/",
|
7737 |
| - "height": 811 |
| 7770 | + "height": 1000 |
7738 | 7771 | },
|
7739 | 7772 | "id": "aja0oDg5VlHY",
|
7740 |
| - "outputId": "4ca6ad51-4844-48ca-b594-87237bffa29a" |
| 7773 | + "outputId": "16aa5095-6725-42c6-b09d-5c46e643b257" |
7741 | 7774 | },
|
7742 |
| - "execution_count": 19, |
| 7775 | + "execution_count": 43, |
7743 | 7776 | "outputs": [
|
7744 | 7777 | {
|
7745 | 7778 | "output_type": "stream",
|
7746 | 7779 | "name": "stdout",
|
7747 | 7780 | "text": [
|
7748 |
| - "14\n", |
7749 |
| - "0\n", |
| 7781 | + "['', '', '', '']\n", |
7750 | 7782 | "P\n",
|
| 7783 | + "0\n", |
7751 | 7784 | "1\n",
|
| 7785 | + "2\n", |
| 7786 | + "3\n", |
| 7787 | + "-----------diagonal-----------\n", |
| 7788 | + "3\n", |
| 7789 | + "P \n", |
| 7790 | + "A \n", |
| 7791 | + "Y A\n", |
| 7792 | + "P\n", |
7752 | 7793 | "A\n",
|
| 7794 | + "-----------diagonal-----------\n", |
7753 | 7795 | "2\n",
|
| 7796 | + "P \n", |
| 7797 | + "A L\n", |
| 7798 | + "Y A\n", |
| 7799 | + "P\n", |
7754 | 7800 | "Y\n",
|
7755 |
| - "3\n", |
| 7801 | + "-----------diagonal-----------\n", |
| 7802 | + "1\n", |
| 7803 | + "P I\n", |
| 7804 | + "A L\n", |
| 7805 | + "Y A\n", |
7756 | 7806 | "P\n",
|
7757 |
| - "4\n", |
| 7807 | + "P\n", |
| 7808 | + "0\n", |
| 7809 | + "1\n", |
| 7810 | + "2\n", |
| 7811 | + "3\n", |
| 7812 | + "-----------diagonal-----------\n", |
| 7813 | + "3\n", |
| 7814 | + "P IS \n", |
| 7815 | + "A LH \n", |
| 7816 | + "Y AI I\n", |
| 7817 | + "PR\n", |
7758 | 7818 | "A\n",
|
7759 |
| - "5\n", |
| 7819 | + "-----------diagonal-----------\n", |
| 7820 | + "2\n", |
| 7821 | + "P IS \n", |
| 7822 | + "A LH N\n", |
| 7823 | + "Y AI I\n", |
| 7824 | + "PR\n", |
7760 | 7825 | "L\n",
|
7761 |
| - "6\n", |
7762 |
| - "I\n", |
7763 |
| - "7\n", |
7764 |
| - "S\n", |
7765 |
| - "8\n", |
7766 |
| - "H\n", |
7767 |
| - "9\n", |
7768 |
| - "9\n", |
7769 |
| - "I\n", |
7770 |
| - "10\n", |
7771 |
| - "R\n", |
7772 |
| - "11\n", |
7773 |
| - "I\n", |
7774 |
| - "12\n", |
7775 |
| - "N\n", |
7776 |
| - "13\n", |
7777 |
| - "G\n", |
7778 |
| - "14\n" |
| 7826 | + "-----------diagonal-----------\n", |
| 7827 | + "1\n", |
| 7828 | + "P IS G\n", |
| 7829 | + "A LH N\n", |
| 7830 | + "Y AI I\n", |
| 7831 | + "PR\n", |
| 7832 | + "I\n" |
7779 | 7833 | ]
|
7780 | 7834 | },
|
7781 | 7835 | {
|
|
7785 | 7839 | "traceback": [
|
7786 | 7840 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
7787 | 7841 | "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
|
7788 |
| - "\u001b[0;32m<ipython-input-19-277b1e45c6e9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumRows\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ma1\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 16\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcounter\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 17\u001b[0m \u001b[0mcounter\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcounter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
7789 |
| - "\u001b[0;31mIndexError\u001b[0m: string index out of range" |
| 7842 | + "\u001b[0;32m<ipython-input-43-33ef3a020acb>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 50\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 51\u001b[0;31m \u001b[0mzigzag_conversion\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnumRows\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 7843 | + "\u001b[0;32m<ipython-input-43-33ef3a020acb>\u001b[0m in \u001b[0;36mzigzag_conversion\u001b[0;34m(s, numRows)\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdirection\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'down'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumRows\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 25\u001b[0;31m \u001b[0marr\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcount\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 26\u001b[0m \u001b[0mcount\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 7844 | + "\u001b[0;31mIndexError\u001b[0m: list index out of range" |
7790 | 7845 | ]
|
7791 | 7846 | }
|
7792 | 7847 | ]
|
|
0 commit comments