mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
clean of unnecessary checks, imports, calls (#7993)
This commit is contained in:
parent
a25c53e8b0
commit
f32d611689
|
@ -88,12 +88,12 @@ def run_maze(maze: list[list[int]], i: int, j: int, solutions: list[list[int]])
|
||||||
solutions[i][j] = 1
|
solutions[i][j] = 1
|
||||||
return True
|
return True
|
||||||
|
|
||||||
lower_flag = (not (i < 0)) and (not (j < 0)) # Check lower bounds
|
lower_flag = (not i < 0) and (not j < 0) # Check lower bounds
|
||||||
upper_flag = (i < size) and (j < size) # Check upper bounds
|
upper_flag = (i < size) and (j < size) # Check upper bounds
|
||||||
|
|
||||||
if lower_flag and upper_flag:
|
if lower_flag and upper_flag:
|
||||||
# check for already visited and block points.
|
# check for already visited and block points.
|
||||||
block_flag = (not (solutions[i][j])) and (not (maze[i][j]))
|
block_flag = (not solutions[i][j]) and (not maze[i][j])
|
||||||
if block_flag:
|
if block_flag:
|
||||||
# check visited
|
# check visited
|
||||||
solutions[i][j] = 1
|
solutions[i][j] = 1
|
||||||
|
|
|
@ -34,4 +34,4 @@ def test_not_gate() -> None:
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
print(not_gate(0))
|
print(not_gate(0))
|
||||||
print(not_gate(1))
|
print(not_gate(1))
|
||||||
|
|
|
@ -45,8 +45,7 @@ def construct_highway(
|
||||||
|
|
||||||
highway = [[-1] * number_of_cells] # Create a highway without any car
|
highway = [[-1] * number_of_cells] # Create a highway without any car
|
||||||
i = 0
|
i = 0
|
||||||
if initial_speed < 0:
|
initial_speed = max(initial_speed, 0)
|
||||||
initial_speed = 0
|
|
||||||
while i < number_of_cells:
|
while i < number_of_cells:
|
||||||
highway[0][i] = (
|
highway[0][i] = (
|
||||||
randint(0, max_speed) if random_speed else initial_speed
|
randint(0, max_speed) if random_speed else initial_speed
|
||||||
|
|
|
@ -42,7 +42,7 @@ def mixed_keyword(key: str = "college", pt: str = "UNIVERSITY") -> str:
|
||||||
s = []
|
s = []
|
||||||
for _ in range(len_temp):
|
for _ in range(len_temp):
|
||||||
s.append(temp[k])
|
s.append(temp[k])
|
||||||
if not (k < 25):
|
if k >= 25:
|
||||||
break
|
break
|
||||||
k += 1
|
k += 1
|
||||||
modalpha.append(s)
|
modalpha.append(s)
|
||||||
|
@ -52,7 +52,7 @@ def mixed_keyword(key: str = "college", pt: str = "UNIVERSITY") -> str:
|
||||||
k = 0
|
k = 0
|
||||||
for j in range(len_temp):
|
for j in range(len_temp):
|
||||||
for m in modalpha:
|
for m in modalpha:
|
||||||
if not (len(m) - 1 >= j):
|
if not len(m) - 1 >= j:
|
||||||
break
|
break
|
||||||
d[alpha[k]] = m[j]
|
d[alpha[k]] = m[j]
|
||||||
if not k < 25:
|
if not k < 25:
|
||||||
|
|
|
@ -56,7 +56,7 @@ def traverse_tree(root: Letter | TreeNode, bitstring: str) -> list[Letter]:
|
||||||
Recursively traverse the Huffman Tree to set each
|
Recursively traverse the Huffman Tree to set each
|
||||||
Letter's bitstring dictionary, and return the list of Letters
|
Letter's bitstring dictionary, and return the list of Letters
|
||||||
"""
|
"""
|
||||||
if type(root) is Letter:
|
if isinstance(root, Letter):
|
||||||
root.bitstring[root.letter] = bitstring
|
root.bitstring[root.letter] = bitstring
|
||||||
return [root]
|
return [root]
|
||||||
treenode: TreeNode = root # type: ignore
|
treenode: TreeNode = root # type: ignore
|
||||||
|
|
|
@ -121,7 +121,7 @@ class MinHeap:
|
||||||
self.sift_up(len(self.heap) - 1)
|
self.sift_up(len(self.heap) - 1)
|
||||||
|
|
||||||
def is_empty(self):
|
def is_empty(self):
|
||||||
return True if len(self.heap) == 0 else False
|
return len(self.heap) == 0
|
||||||
|
|
||||||
def decrease_key(self, node, new_value):
|
def decrease_key(self, node, new_value):
|
||||||
assert (
|
assert (
|
||||||
|
|
|
@ -10,7 +10,7 @@ from digital_image_processing import change_contrast as cc
|
||||||
from digital_image_processing import convert_to_negative as cn
|
from digital_image_processing import convert_to_negative as cn
|
||||||
from digital_image_processing import sepia as sp
|
from digital_image_processing import sepia as sp
|
||||||
from digital_image_processing.dithering import burkes as bs
|
from digital_image_processing.dithering import burkes as bs
|
||||||
from digital_image_processing.edge_detection import canny as canny
|
from digital_image_processing.edge_detection import canny
|
||||||
from digital_image_processing.filters import convolve as conv
|
from digital_image_processing.filters import convolve as conv
|
||||||
from digital_image_processing.filters import gaussian_filter as gg
|
from digital_image_processing.filters import gaussian_filter as gg
|
||||||
from digital_image_processing.filters import local_binary_pattern as lbp
|
from digital_image_processing.filters import local_binary_pattern as lbp
|
||||||
|
|
|
@ -33,10 +33,9 @@ def fizz_buzz(number: int, iterations: int) -> str:
|
||||||
...
|
...
|
||||||
ValueError: iterations must be defined as integers
|
ValueError: iterations must be defined as integers
|
||||||
"""
|
"""
|
||||||
|
if not isinstance(iterations, int):
|
||||||
if not type(iterations) == int:
|
|
||||||
raise ValueError("iterations must be defined as integers")
|
raise ValueError("iterations must be defined as integers")
|
||||||
if not type(number) == int or not number >= 1:
|
if not isinstance(number, int) or not number >= 1:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"""starting number must be
|
"""starting number must be
|
||||||
and integer and be more than 0"""
|
and integer and be more than 0"""
|
||||||
|
|
|
@ -62,8 +62,7 @@ def max_sub_array(nums: list[int]) -> int:
|
||||||
current = 0
|
current = 0
|
||||||
for i in nums:
|
for i in nums:
|
||||||
current += i
|
current += i
|
||||||
if current < 0:
|
current = max(current, 0)
|
||||||
current = 0
|
|
||||||
best = max(best, current)
|
best = max(best, current)
|
||||||
return best
|
return best
|
||||||
|
|
||||||
|
|
|
@ -167,7 +167,7 @@ class DirectedGraph:
|
||||||
and not on_the_way_back
|
and not on_the_way_back
|
||||||
):
|
):
|
||||||
len_stack = len(stack) - 1
|
len_stack = len(stack) - 1
|
||||||
while True and len_stack >= 0:
|
while len_stack >= 0:
|
||||||
if stack[len_stack] == node[1]:
|
if stack[len_stack] == node[1]:
|
||||||
anticipating_nodes.add(node[1])
|
anticipating_nodes.add(node[1])
|
||||||
break
|
break
|
||||||
|
@ -220,7 +220,7 @@ class DirectedGraph:
|
||||||
and not on_the_way_back
|
and not on_the_way_back
|
||||||
):
|
):
|
||||||
len_stack_minus_one = len(stack) - 1
|
len_stack_minus_one = len(stack) - 1
|
||||||
while True and len_stack_minus_one >= 0:
|
while len_stack_minus_one >= 0:
|
||||||
if stack[len_stack_minus_one] == node[1]:
|
if stack[len_stack_minus_one] == node[1]:
|
||||||
anticipating_nodes.add(node[1])
|
anticipating_nodes.add(node[1])
|
||||||
break
|
break
|
||||||
|
@ -392,7 +392,7 @@ class Graph:
|
||||||
and not on_the_way_back
|
and not on_the_way_back
|
||||||
):
|
):
|
||||||
len_stack = len(stack) - 1
|
len_stack = len(stack) - 1
|
||||||
while True and len_stack >= 0:
|
while len_stack >= 0:
|
||||||
if stack[len_stack] == node[1]:
|
if stack[len_stack] == node[1]:
|
||||||
anticipating_nodes.add(node[1])
|
anticipating_nodes.add(node[1])
|
||||||
break
|
break
|
||||||
|
@ -445,7 +445,7 @@ class Graph:
|
||||||
and not on_the_way_back
|
and not on_the_way_back
|
||||||
):
|
):
|
||||||
len_stack_minus_one = len(stack) - 1
|
len_stack_minus_one = len(stack) - 1
|
||||||
while True and len_stack_minus_one >= 0:
|
while len_stack_minus_one >= 0:
|
||||||
if stack[len_stack_minus_one] == node[1]:
|
if stack[len_stack_minus_one] == node[1]:
|
||||||
anticipating_nodes.add(node[1])
|
anticipating_nodes.add(node[1])
|
||||||
break
|
break
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import heapq
|
import heapq
|
||||||
|
import sys
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
@ -116,7 +117,7 @@ def do_something(back_pointer, goal, start):
|
||||||
print(x, end=" ")
|
print(x, end=" ")
|
||||||
x = back_pointer[x]
|
x = back_pointer[x]
|
||||||
print(x)
|
print(x)
|
||||||
quit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
||||||
def valid(p: TPos):
|
def valid(p: TPos):
|
||||||
|
|
|
@ -129,7 +129,7 @@ class Vector:
|
||||||
input: index (0-indexed)
|
input: index (0-indexed)
|
||||||
output: the i-th component of the vector.
|
output: the i-th component of the vector.
|
||||||
"""
|
"""
|
||||||
if type(i) is int and -len(self.__components) <= i < len(self.__components):
|
if isinstance(i, int) and -len(self.__components) <= i < len(self.__components):
|
||||||
return self.__components[i]
|
return self.__components[i]
|
||||||
else:
|
else:
|
||||||
raise Exception("index out of range")
|
raise Exception("index out of range")
|
||||||
|
|
|
@ -388,16 +388,10 @@ class SmoSVM:
|
||||||
return (data - self._min) / (self._max - self._min)
|
return (data - self._min) / (self._max - self._min)
|
||||||
|
|
||||||
def _is_unbound(self, index):
|
def _is_unbound(self, index):
|
||||||
if 0.0 < self.alphas[index] < self._c:
|
return bool(0.0 < self.alphas[index] < self._c)
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def _is_support(self, index):
|
def _is_support(self, index):
|
||||||
if self.alphas[index] > 0:
|
return bool(self.alphas[index] > 0)
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def unbound(self):
|
def unbound(self):
|
||||||
|
|
|
@ -24,8 +24,7 @@ def find_min(nums: list[int | float]) -> int | float:
|
||||||
raise ValueError("find_min() arg is an empty sequence")
|
raise ValueError("find_min() arg is an empty sequence")
|
||||||
min_num = nums[0]
|
min_num = nums[0]
|
||||||
for num in nums:
|
for num in nums:
|
||||||
if min_num > num:
|
min_num = min(min_num, num)
|
||||||
min_num = num
|
|
||||||
return min_num
|
return min_num
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,8 @@ def kadanes(arr: list) -> int:
|
||||||
|
|
||||||
for i in arr:
|
for i in arr:
|
||||||
max_till_element += i
|
max_till_element += i
|
||||||
if max_sum <= max_till_element:
|
max_sum = max(max_sum, max_till_element)
|
||||||
max_sum = max_till_element
|
max_till_element = max(max_till_element, 0)
|
||||||
if max_till_element < 0:
|
|
||||||
max_till_element = 0
|
|
||||||
return max_sum
|
return max_sum
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,8 @@ def max_sub_array_sum(a: list, size: int = 0):
|
||||||
max_ending_here = 0
|
max_ending_here = 0
|
||||||
for i in range(0, size):
|
for i in range(0, size):
|
||||||
max_ending_here = max_ending_here + a[i]
|
max_ending_here = max_ending_here + a[i]
|
||||||
if max_so_far < max_ending_here:
|
max_so_far = max(max_so_far, max_ending_here)
|
||||||
max_so_far = max_ending_here
|
max_ending_here = max(max_ending_here, 0)
|
||||||
if max_ending_here < 0:
|
|
||||||
max_ending_here = 0
|
|
||||||
return max_so_far
|
return max_so_far
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ def geometric_series(
|
||||||
power = 1
|
power = 1
|
||||||
multiple = common_ratio_r
|
multiple = common_ratio_r
|
||||||
for _ in range(int(nth_term)):
|
for _ in range(int(nth_term)):
|
||||||
if series == []:
|
if not series:
|
||||||
series.append(start_term_a)
|
series.append(start_term_a)
|
||||||
else:
|
else:
|
||||||
power += 1
|
power += 1
|
||||||
|
|
|
@ -21,7 +21,7 @@ def bfs(graph, s, t, parent):
|
||||||
visited[ind] = True
|
visited[ind] = True
|
||||||
parent[ind] = u
|
parent[ind] = u
|
||||||
|
|
||||||
return True if visited[t] else False
|
return visited[t]
|
||||||
|
|
||||||
|
|
||||||
def ford_fulkerson(graph, source, sink):
|
def ford_fulkerson(graph, source, sink):
|
||||||
|
|
|
@ -24,7 +24,7 @@ def bfs(graph, s, t, parent):
|
||||||
visited[ind] = True
|
visited[ind] = True
|
||||||
parent[ind] = u
|
parent[ind] = u
|
||||||
|
|
||||||
return True if visited[t] else False
|
return visited[t]
|
||||||
|
|
||||||
|
|
||||||
def mincut(graph, source, sink):
|
def mincut(graph, source, sink):
|
||||||
|
|
|
@ -89,13 +89,9 @@ def is_strong_password(password: str, min_length: int = 8) -> bool:
|
||||||
num = any(char in digits for char in password)
|
num = any(char in digits for char in password)
|
||||||
spec_char = any(char in punctuation for char in password)
|
spec_char = any(char in punctuation for char in password)
|
||||||
|
|
||||||
if upper and lower and num and spec_char:
|
return upper and lower and num and spec_char
|
||||||
return True
|
# Passwords should contain UPPERCASE, lowerase
|
||||||
|
# numbers, and special characters
|
||||||
else:
|
|
||||||
# Passwords should contain UPPERCASE, lowerase
|
|
||||||
# numbers, and special characters
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
|
@ -43,7 +43,7 @@ def fibonacci(n: int) -> int:
|
||||||
144
|
144
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if n == 1 or type(n) is not int:
|
if n == 1 or not isinstance(n, int):
|
||||||
return 0
|
return 0
|
||||||
elif n == 2:
|
elif n == 2:
|
||||||
return 1
|
return 1
|
||||||
|
|
|
@ -32,7 +32,7 @@ def is_palindrome(n: int | str) -> bool:
|
||||||
False
|
False
|
||||||
"""
|
"""
|
||||||
n = str(n)
|
n = str(n)
|
||||||
return True if n == n[::-1] else False
|
return n == n[::-1]
|
||||||
|
|
||||||
|
|
||||||
def solution(n: int = 1000000):
|
def solution(n: int = 1000000):
|
||||||
|
|
|
@ -55,9 +55,9 @@ def quantum_fourier_transform(number_of_qubits: int = 3) -> qiskit.result.counts
|
||||||
...
|
...
|
||||||
ValueError: number of qubits must be exact integer.
|
ValueError: number of qubits must be exact integer.
|
||||||
"""
|
"""
|
||||||
if type(number_of_qubits) == str:
|
if isinstance(number_of_qubits, str):
|
||||||
raise TypeError("number of qubits must be a integer.")
|
raise TypeError("number of qubits must be a integer.")
|
||||||
if not number_of_qubits > 0:
|
if number_of_qubits <= 0:
|
||||||
raise ValueError("number of qubits must be > 0.")
|
raise ValueError("number of qubits must be > 0.")
|
||||||
if math.floor(number_of_qubits) != number_of_qubits:
|
if math.floor(number_of_qubits) != number_of_qubits:
|
||||||
raise ValueError("number of qubits must be exact integer.")
|
raise ValueError("number of qubits must be exact integer.")
|
||||||
|
|
|
@ -60,7 +60,11 @@ def quantum_full_adder(
|
||||||
...
|
...
|
||||||
ValueError: inputs must be less or equal to 2.
|
ValueError: inputs must be less or equal to 2.
|
||||||
"""
|
"""
|
||||||
if (type(input_1) == str) or (type(input_2) == str) or (type(carry_in) == str):
|
if (
|
||||||
|
isinstance(input_1, str)
|
||||||
|
or isinstance(input_2, str)
|
||||||
|
or isinstance(carry_in, str)
|
||||||
|
):
|
||||||
raise TypeError("inputs must be integers.")
|
raise TypeError("inputs must be integers.")
|
||||||
|
|
||||||
if (input_1 < 0) or (input_2 < 0) or (carry_in < 0):
|
if (input_1 < 0) or (input_2 < 0) or (carry_in < 0):
|
||||||
|
|
|
@ -53,7 +53,7 @@ def superdense_coding(bit_1: int = 1, bit_2: int = 1) -> qiskit.result.counts.Co
|
||||||
...
|
...
|
||||||
ValueError: inputs must be less or equal to 1.
|
ValueError: inputs must be less or equal to 1.
|
||||||
"""
|
"""
|
||||||
if (type(bit_1) == str) or (type(bit_2) == str):
|
if isinstance(bit_1, str) or isinstance(bit_2, str):
|
||||||
raise TypeError("inputs must be integers.")
|
raise TypeError("inputs must be integers.")
|
||||||
if (bit_1 < 0) or (bit_2 < 0):
|
if (bit_1 < 0) or (bit_2 < 0):
|
||||||
raise ValueError("inputs must be positive.")
|
raise ValueError("inputs must be positive.")
|
||||||
|
|
|
@ -133,7 +133,7 @@ def _msd_radix_sort_inplace(
|
||||||
j = end_index - 1
|
j = end_index - 1
|
||||||
while i <= j:
|
while i <= j:
|
||||||
changed = False
|
changed = False
|
||||||
if not ((list_of_ints[i] >> bit_position) & 1):
|
if not (list_of_ints[i] >> bit_position) & 1:
|
||||||
# found zero at the beginning
|
# found zero at the beginning
|
||||||
i += 1
|
i += 1
|
||||||
changed = True
|
changed = True
|
||||||
|
|
|
@ -84,7 +84,7 @@ class Automaton:
|
||||||
else:
|
else:
|
||||||
current_state = next_state
|
current_state = next_state
|
||||||
for key in self.adlist[current_state]["output"]:
|
for key in self.adlist[current_state]["output"]:
|
||||||
if not (key in result):
|
if key not in result:
|
||||||
result[key] = []
|
result[key] = []
|
||||||
result[key].append(i - len(key) + 1)
|
result[key].append(i - len(key) + 1)
|
||||||
return result
|
return result
|
||||||
|
|
Loading…
Reference in New Issue
Block a user