diff --git a/Answers/40130112086/.idea/.gitignore b/Answers/40130112086/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Answers/40130112086/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Answers/40130112086/.idea/Data Structure.iml b/Answers/40130112086/.idea/Data Structure.iml new file mode 100644 index 0000000..2c80e12 --- /dev/null +++ b/Answers/40130112086/.idea/Data Structure.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Answers/40130112086/.idea/inspectionProfiles/profiles_settings.xml b/Answers/40130112086/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/Answers/40130112086/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/Answers/40130112086/.idea/misc.xml b/Answers/40130112086/.idea/misc.xml new file mode 100644 index 0000000..61c283e --- /dev/null +++ b/Answers/40130112086/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/Answers/40130112086/.idea/modules.xml b/Answers/40130112086/.idea/modules.xml new file mode 100644 index 0000000..570251c --- /dev/null +++ b/Answers/40130112086/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Answers/40130112086/DS1.py b/Answers/40130112086/DS1.py new file mode 100644 index 0000000..cdc92a2 --- /dev/null +++ b/Answers/40130112086/DS1.py @@ -0,0 +1,5 @@ +def Find_Number(arrayNumbers): + size=len(arrayNumbers) + for i in range(size): + if i not in arrayNumbers: + return i \ No newline at end of file diff --git a/Answers/40130112086/DS2.py b/Answers/40130112086/DS2.py new file mode 100644 index 0000000..7f4743d --- /dev/null +++ b/Answers/40130112086/DS2.py @@ -0,0 +1,14 @@ +def Rotate(array, k): + n=len(array) + k=k%n + + RotateArray = [0] * n + + for i in range(n): + if i < k: + RotateArray[i]= RotateArray[n- k+i] + else: + RotateArray[i]= array[i-k] + + for i in range(n): + array[i] = RotateArray[i] \ No newline at end of file diff --git a/Answers/40130112086/DS3.py b/Answers/40130112086/DS3.py new file mode 100644 index 0000000..1e550aa --- /dev/null +++ b/Answers/40130112086/DS3.py @@ -0,0 +1,8 @@ +def Remove(array): + j = 0 + for i in range(1, len(array)): + if array[i] != array[j]: + j += 1 + array[j] = array[i] + + return j + 1 \ No newline at end of file diff --git a/Answers/40130112086/DS4.py b/Answers/40130112086/DS4.py new file mode 100644 index 0000000..3ed9ec8 --- /dev/null +++ b/Answers/40130112086/DS4.py @@ -0,0 +1,18 @@ +def MergeSorte(nums1,nums2): + merge= [] + i = 0 + j = 0 + while i < len(nums1) and j < len(nums2): + if nums1[i] < nums2[j]: + merge.append(nums1[i]) + i += 1 + else: + merge.append(nums2[j]) + j += 1 + while i < len(nums1): + merge.append(nums1[i]) + i += 1 + while j < len(nums2): + merge.append(nums2[j]) + j += 1 + return merge diff --git a/Answers/40130112086/DS5.py b/Answers/40130112086/DS5.py new file mode 100644 index 0000000..6dd3dd9 --- /dev/null +++ b/Answers/40130112086/DS5.py @@ -0,0 +1,19 @@ +def Maximum(array): + + MaxSum= sum= array[0] + start=end,temp= 0 + + for i in range(1, len(array)): + if array[i]> sum+array[i]: + temp= i + sum= array[i] + else: + sum+= array[i] + + if sum> MaxSum: + start= temp + end= i + MaxSum= sum + + print("Maximum subarray:"+array[start:end+1]) + return MaxSum \ No newline at end of file diff --git a/Answers/40130112086/Sparse.py b/Answers/40130112086/Sparse.py new file mode 100644 index 0000000..d0d6539 --- /dev/null +++ b/Answers/40130112086/Sparse.py @@ -0,0 +1,33 @@ +class Sparse: + def __init__(self, matrix): + self.data = [] + self.row = len(matrix) + self.column = len(matrix[0]) + + for i in range(self.row): + for j in range(self.column): + if matrix[i][j] != 0: + self.data.append((i, j, matrix[i][j])) + + def Transpose(self): + transpose= [] + for row,col,value in self.data: + transpose.append((col,row,value)) + transpose.sort() + transposed_matrix = [[0 for _ in range(self.row)] for _ in range(self.column)] + for row, col, value in transpose: + transposed_matrix[row][col] = value + + return Sparse(transposed_matrix) + + def change_element(self, row, col, new_value): + for i in range(len(self.data)): + if self.data[i][0] == row and self.data[i][1] == col: + if new_value != 0: + self.data[i] = (row, col, new_value) + else: + del self.data[i] + return + + if new_value != 0: + self.data.append((row, col, new_value)) \ No newline at end of file