Repository: TheAlgorithms/Python

Issue:
Concatenate/consolidate all algorithms with different implementations
### Feature description

There are lots of algorithms with the same concept but different implementations/methods in different files. All these should be moved into one file


Discussion:
hello sir
Can I take this issue.

@CaedenPH Please assign this task to me.
@digital-dev-07 Read the [contributing guidelines](https://github.com/TheAlgorithms/Python/blob/master/CONTRIBUTING.md#contribution).
> If you are interested in resolving an [open issue](https://github.com/TheAlgorithms/Python/issues), simply make a pull request with your proposed fix. We do not assign issues in this repo so please do not ask for permission to work on an issue.
!assign
> !assign

Please read the contributing guidelines. We do **not** assign issues in this repository. Instead open a new pull request and add `Fixes: #8098` to the description.
Please assign this issue to me. I want to contribute.
i want to contribute, may someone guide me bit of the process in it
@Pranjal-231003 The issue here is that some algorithms have multiple implementations, and these implementations are often scattered across multiple files. Sometimes these files will have very different names or will be scattered across multiple directories. This is a problem because it makes it harder for users to compare implementations and harder for contributors to figure out whether an algorithm is in the repo or not. We want to put different implementations of the same algorithm into a single file so that it's all in one place.

For example, this repo used to have `factorial_recursive.py` and `factorial_iterative.py`. We combined them into a single file `factorial.py`, and this file contains both the recursive implementation and the iterative implementation. This is the work that we're asking contributors to do for this issue.

If you want to contribute to solving this issue, look around the codebase and find an algorithm that's implemented by multiple files. Choose one of those files to keep, and copy the code from the other files into this main file. You may need to rename the file or rename some functions when you do this. Once you're done with that and you've confirmed that everything still works, please open a PR and one of us maintainers will get around to reviewing it eventually.

Resolving patch:
diff --git a/dynamic_programming/longest_sub_array.py b/dynamic_programming/longest_sub_array.py
deleted file mode 100644
--- a/dynamic_programming/longest_sub_array.py
+++ /dev/null
@@ -1,33 +0,0 @@
-"""
-Author  : Yvonne
-
-This is a pure Python implementation of Dynamic Programming solution to the
-    longest_sub_array problem.
-
-The problem is  :
-Given an array, to find the longest and continuous sub array and get the max sum of the
-    sub array in the given array.
-"""
-
-
-class SubArray:
-    def __init__(self, arr):
-        # we need a list not a string, so do something to change the type
-        self.array = arr.split(",")
-
-    def solve_sub_array(self):
-        rear = [int(self.array[0])] * len(self.array)
-        sum_value = [int(self.array[0])] * len(self.array)
-        for i in range(1, len(self.array)):
-            sum_value[i] = max(
-                int(self.array[i]) + sum_value[i - 1], int(self.array[i])
-            )
-            rear[i] = max(sum_value[i], rear[i - 1])
-        return rear[len(self.array) - 1]
-
-
-if __name__ == "__main__":
-    whole_array = input("please input some numbers:")
-    array = SubArray(whole_array)
-    re = array.solve_sub_array()
-    print(("the results is:", re))


Test patch: