From 5e13575ac9e096211c1b75e853975df4ef1ccd4e Mon Sep 17 00:00:00 2001 From: Dalton Ma <85321730+dalton77-get@users.noreply.github.com> Date: Sun, 17 Oct 2021 16:53:47 -0500 Subject: [PATCH] Corner case --- mergesort.py | 3 + sort/db.sqlite3 | 0 sort/manage.py | 22 --- sort/mergesort/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 154 -> 0 bytes .../__pycache__/admin.cpython-38.pyc | Bin 195 -> 0 bytes .../mergesort/__pycache__/apps.cpython-38.pyc | Bin 437 -> 0 bytes .../__pycache__/models.cpython-38.pyc | Bin 192 -> 0 bytes sort/mergesort/admin.py | 3 - sort/mergesort/apps.py | 6 - sort/mergesort/mergesort.py | 81 ----------- sort/mergesort/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 165 -> 0 bytes sort/mergesort/models.py | 3 - sort/mergesort/tests.py | 3 - sort/mergesort/urls.py | 0 sort/mergesort/views.py | 6 - sort/sort/__init__.py | 0 sort/sort/__pycache__/__init__.cpython-38.pyc | Bin 149 -> 0 bytes sort/sort/__pycache__/settings.cpython-38.pyc | Bin 2358 -> 0 bytes sort/sort/__pycache__/urls.cpython-38.pyc | Bin 923 -> 0 bytes sort/sort/__pycache__/wsgi.cpython-38.pyc | Bin 546 -> 0 bytes sort/sort/asgi.py | 16 --- sort/sort/settings.py | 126 ------------------ sort/sort/urls.py | 21 --- sort/sort/wsgi.py | 16 --- 26 files changed, 3 insertions(+), 303 deletions(-) delete mode 100644 sort/db.sqlite3 delete mode 100644 sort/manage.py delete mode 100644 sort/mergesort/__init__.py delete mode 100644 sort/mergesort/__pycache__/__init__.cpython-38.pyc delete mode 100644 sort/mergesort/__pycache__/admin.cpython-38.pyc delete mode 100644 sort/mergesort/__pycache__/apps.cpython-38.pyc delete mode 100644 sort/mergesort/__pycache__/models.cpython-38.pyc delete mode 100644 sort/mergesort/admin.py delete mode 100644 sort/mergesort/apps.py delete mode 100644 sort/mergesort/mergesort.py delete mode 100644 sort/mergesort/migrations/__init__.py delete mode 100644 sort/mergesort/migrations/__pycache__/__init__.cpython-38.pyc delete mode 100644 sort/mergesort/models.py delete mode 100644 sort/mergesort/tests.py delete mode 100644 sort/mergesort/urls.py delete mode 100644 sort/mergesort/views.py delete mode 100644 sort/sort/__init__.py delete mode 100644 sort/sort/__pycache__/__init__.cpython-38.pyc delete mode 100644 sort/sort/__pycache__/settings.cpython-38.pyc delete mode 100644 sort/sort/__pycache__/urls.cpython-38.pyc delete mode 100644 sort/sort/__pycache__/wsgi.cpython-38.pyc delete mode 100644 sort/sort/asgi.py delete mode 100644 sort/sort/settings.py delete mode 100644 sort/sort/urls.py delete mode 100644 sort/sort/wsgi.py diff --git a/mergesort.py b/mergesort.py index 970a93c..1517b6c 100644 --- a/mergesort.py +++ b/mergesort.py @@ -15,6 +15,9 @@ def sort(array: List[int]) -> List[int]: Usage: sort([1,3,9,4,8,5]) """ + # If array is of length 0 + if len(array) == 0: + raise TypeError("Missing Argument") if len(array) == 1: # If array is only 1 element, it is sorted return array diff --git a/sort/db.sqlite3 b/sort/db.sqlite3 deleted file mode 100644 index e69de29..0000000 diff --git a/sort/manage.py b/sort/manage.py deleted file mode 100644 index 74f79e6..0000000 --- a/sort/manage.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env python -"""Django's command-line utility for administrative tasks.""" -import os -import sys - - -def main(): - """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sort.settings') - try: - from django.core.management import execute_from_command_line - except ImportError as exc: - raise ImportError( - "Couldn't import Django. Are you sure it's installed and " - "available on your PYTHONPATH environment variable? Did you " - "forget to activate a virtual environment?" - ) from exc - execute_from_command_line(sys.argv) - - -if __name__ == '__main__': - main() diff --git a/sort/mergesort/__init__.py b/sort/mergesort/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/sort/mergesort/__pycache__/__init__.cpython-38.pyc b/sort/mergesort/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index ce9c3229e6b723c86ee3e13968894e29913140bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmWIL<>g`kf`;JiL=gQLL?8o3AjbiSi&=m~3PUi1CZpdM4 zoLW?@pOukVRF+tjqVJNQT$-DjS5mBBoL^J|A#ziT(o@0Q`1s7c%#!$cy@JYH95%W6 PDWy57b|8a412F>ttzacI diff --git a/sort/mergesort/__pycache__/admin.cpython-38.pyc b/sort/mergesort/__pycache__/admin.cpython-38.pyc deleted file mode 100644 index 0afd8bfd7f18825881a9f2ae95917d0d002d2640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmWIL<>g`kg8Ja>M0+6p7{oyaOhAqU5Elyoi4=wu#vF!R#wbQch7_h?22JLdKv4!w z##^k3DY=<>ews{Cd?{IpdFlCj$@zIDMVU!OAOlu16fpxSF!9SqKR2&LKUKf9IJKx) zKPw}#s4TH4Mc*YqximL5ucTPNIKQX_Lgc0vrKf_qVB_@)DsOSvJ5VhAEDPJKWS|r+S)&~Hg1Q1lDiDe=v~@A1a0PCZqdUsfR{q+n0SX zE8S$Z(kP-%eEwFP-mE}PsGwUg9h2Y($%T~#iw to~%F_TAw56^N_chc_jR3I}I^yK-Gx*U$?uBFz5Rx-2kVwHb>mC_yL#CZXf^v diff --git a/sort/mergesort/__pycache__/models.cpython-38.pyc b/sort/mergesort/__pycache__/models.cpython-38.pyc deleted file mode 100644 index 1d73d3a91321607289b499aa47628be14eafeef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192 zcmWIL<>g`kg8Ja>L`xw37{oyaOhAqU5Elyoi4=wu#vF!R#wbQch7_h?22JLdKv4!w z##?N;`6;P6#eSMhw>VR>67$mY^-_|GK$=%F6tMs)F!9S)KR2&LKUKf9IJKx)KPw}# zs4TH4Mc*YqximL5ucTPNIKQX_Lgc0vrKf_q5To@9DsOSv0NJHEsdkJ&6F&nn0{~1J BFTnr+ diff --git a/sort/mergesort/admin.py b/sort/mergesort/admin.py deleted file mode 100644 index 8c38f3f..0000000 --- a/sort/mergesort/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/sort/mergesort/apps.py b/sort/mergesort/apps.py deleted file mode 100644 index 9f8a23e..0000000 --- a/sort/mergesort/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class MergesortConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'mergesort' diff --git a/sort/mergesort/mergesort.py b/sort/mergesort/mergesort.py deleted file mode 100644 index 970a93c..0000000 --- a/sort/mergesort/mergesort.py +++ /dev/null @@ -1,81 +0,0 @@ -""" -This program defines a function to implement merge sort. -""" -from typing import List - - -def sort(array: List[int]) -> List[int]: - """ - This function sorts a list of integers using merge sort. - Arguments: - Array - list of integers - Output: - Sorted array - - Usage: - sort([1,3,9,4,8,5]) - """ - if len(array) == 1: - # If array is only 1 element, it is sorted - return array - # Get middle - mid = len(array) // 2 - # Left half - left = array[:mid] - # Sort left - leftsorted = sort(left) - # Right half - right = array[mid:] - # Sort right - rightsorted = sort(right) - # Merge - sortedarray = merge(leftsorted, rightsorted) - return sortedarray - - -def merge(array1: List[int], array2: List[int]) -> List[int]: - """ - This function merges two sorted arrays in sorted order. - """ - # print("Original Array 1: " + str(array1)) - # print("Original Array 2: " + str(array2)) - # print("=====MERGING=====") - # Final array - finalarray = [] - # Look at start of each list and compare - while array1 and array2: - # # Debugging - # print("Array 1: " + str(array1)) - # print("Array 2: " + str(array2)) - # Choose smallest number at start of array - if array1[0] < array2[0]: - # Array1's first is smaller - # Use it - finalarray.append(array1[0]) - # Remove it so we can compare next numbers - array1.remove(array1[0]) - # print("Using array 1") - elif array1[0] > array2[0]: - # array2's first is smaller - # Use it - finalarray.append(array2[0]) - # Remove it so we can compare next numbers - array2.remove(array2[0]) - # print("Using array 2") - elif array1[0] == array2[0]: - # Use both - finalarray.append(array1[0]) - finalarray.append(array2[0]) - # Delete both - array1.remove(array1[0]) - array2.remove(array2[0]) - # print("Final array: " + str(finalarray)) - # print("=====") - if array1: - finalarray += array1 - elif array2: - finalarray += array2 - # print("=====END MERGE=====") - # print("Final merged array: " + str(finalarray)) - # print("==========") - return finalarray diff --git a/sort/mergesort/migrations/__init__.py b/sort/mergesort/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/sort/mergesort/migrations/__pycache__/__init__.cpython-38.pyc b/sort/mergesort/migrations/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index aa108ce4e2a514237714d99f0e7dfc74ea02cca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmWIL<>g`kf`;JiL=gQLL?8o3AjbiSi&=m~3PUi1CZpdM4 zoLW?@pOukVRF+tjqVJNQT$-DjS5mBBoL^J|A#ziT(o@0Q+|2Z%#FEVXykhg`kg1F%9L=gQLL?8o3AjbiSi&=m~3PUi1CZpdM4 zoLW?@pOukVRF+tjqVJNQT$-DjS5mBBoL^LeM8wBu=4F<|$LkeT-r}&y%}*)KNwou+ I`5A~A0Mb(;{Qv*} diff --git a/sort/sort/__pycache__/settings.cpython-38.pyc b/sort/sort/__pycache__/settings.cpython-38.pyc deleted file mode 100644 index 4764afb1e1ef5a0fa003a66d0862c3aea567aa5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2358 zcmb7F-Ez}b5SAUqc1#Q*;jd7NC=}w*NTp#Q!xV~QE5U>RCXz|38;$Hec8<}H(K*IM zw|xyR+RI+{75W&uY_IwPooR8o!wQdP{<2-{ieUNe_0fS z-{Y6*D~B)7@L|8=0D>t%3erx>O`GYIK+n=6Zs;0P~Q6 zEaYGT@^Ge?HS@3t1vm@mUuRizz|Km;1KY^Cd<&r(TaqT|bbRA8=_9_(JQb)lGw#HP*n!>tJm)MKPG49NN_+w6`Wyj~-lbTqnk`^l=cw((&7 z$y&Q_-D=+%^}Ba&BD;?c?)B-z(dGt!W*OmyF^JspJs!}uoKPCB%u0vo@7jzoHX$D8 z2Lr;w%QK6NFoqEA?YDa6~gIUx`9P*UCK9)^c6;C?B19yE-E+v2ep~`};T*BccC8H_TM>Db5$l`Py zD!wCuw3FoHl;P|q4mq1Pu8nz|vU>QDO*pjks&98*VNJ;2Z3nhX8iP3b*_7Qv%(FZU z92P1Q2u|FAgViRt(Uy2{SPgPHDLiAc%*^E^3EpxG>!gDb`2h=8XF*Qt$Uxe|UbuD& z&49edn&IKSiSALN#$=)k8(|)WlX)>6WwiQErLIL{ zU9D+B+}OkCGf^k`GO!sN`2kqiJSZgYH0t%CU4Om){(zWi39cGl_+aj*uE_*$_}teIf6zRq1BpI)zI{4X;0s&#QN1rNsaR;S}3cA8oSk_D{9Ml zZZ%b1-)roat(R)Gf{P7Izd}{5@3hn%%_=p@8Uj{onq@XHXL2nJxN?89KAu(Ye^rk% zvCJ@W4+i=u#c@Q-Wo=t+RSgS$G_384RxST51UHb6Wcd5B;(A;m$`JF3DgAvrcw+~k zl>H8#ipTLAhn-=1n0%n+!9kS!1`lB9kf-}n)!bO5Rco1X7Ywor-Ej8V~>{6 z=;Iu{q!bZ}xM)Di0-?250*Tv#G)@0$l{4rG@7!{|bmbxXP2fC;{y zlU71A_x@aXV-Qe*_PAU&%h0;FalP)6w+LUmx`!EC2ui diff --git a/sort/sort/__pycache__/wsgi.cpython-38.pyc b/sort/sort/__pycache__/wsgi.cpython-38.pyc deleted file mode 100644 index 72cf51711fd954c46957d320539e362cfa1fc9ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 546 zcmYjPv5pfl5cN8_OIQe^K-6v{!5V=?fe->IM-&9PV()~Mf{j^EHV$6T%64+xb%-B< zlK-LFmWp4XVm1*{M)I?s$Da2*_T^}lGK!D+XZ1B<>~}|wqfg`&jqsR2vjx+M<~CU* zH1{m8dy8JeAldZ4pXk0m`N4_xzOlur<~bXm-uy~G1ynW}kAZ1}&CL)ilQ79NTKkgj8F!gDD#mLby{lTWiJa*bCJrH01h zbqy}ct56x4{-Iv5`8a9sR}hPCtvIsLKA60HJ)fQz`Ps$AY(CA4_ve$#cV{=F?&?{9 z7>%pKc+d`tg7k}`