本文整理汇总了Python中test_framework.generic_test.generic_test_main函数的典型用法代码示例。如果您正苦于以下问题:Python generic_test_main函数的具体用法?Python generic_test_main怎么用?Python generic_test_main使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了generic_test_main函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: find_first_greater_than_k
from test_framework import generic_test
def find_first_greater_than_k(tree, k):
# TODO - you fill in here.
return None
def find_first_greater_than_k_wrapper(tree, k):
result = find_first_greater_than_k(tree, k)
return result.data if result else -1
if __name__ == '__main__':
exit(
generic_test.generic_test_main("search_first_greater_value_in_bst.py",
'search_first_greater_value_in_bst.tsv',
find_first_greater_than_k_wrapper))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:18,代码来源:search_first_greater_value_in_bst.py
示例2: all
if t.d == -1: # Unvisited vertex.
t.d = q[0].d + 1
q.append(t)
elif t.d == q[0].d:
return False
del q[0]
return True
return all(bfs(v) for v in graph if v.d == -1)
@enable_executor_hook
def is_any_placement_feasible_wrapper(executor, k, edges):
if k <= 0:
raise RuntimeError('Invalid k value')
graph = [GraphVertex() for _ in range(k)]
for (fr, to) in edges:
if fr < 0 or fr >= k or to < 0 or to >= k:
raise RuntimeError('Invalid vertex index')
graph[fr].edges.append(graph[to])
return executor.run(functools.partial(is_any_placement_feasible, graph))
if __name__ == '__main__':
exit(
generic_test.generic_test_main("is_circuit_wirable.py",
'is_circuit_wirable.tsv',
is_any_placement_feasible_wrapper))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:is_circuit_wirable.py
示例3: optimum_subject_to_item_and_capacity
if k < 0:
# No items can be chosen.
return 0
if V[k][available_capacity] == -1:
without_curr_item = optimum_subject_to_item_and_capacity(
k - 1, available_capacity)
with_curr_item = (0 if available_capacity < items[k].weight else (
items[k].value + optimum_subject_to_item_and_capacity(
k - 1, available_capacity - items[k].weight)))
V[k][available_capacity] = max(without_curr_item, with_curr_item)
return V[k][available_capacity]
# V[i][j] holds the optimum value when we choose from items[:i + 1] and have
# a capacity of j.
V = [[-1] * (capacity + 1) for _ in items]
return optimum_subject_to_item_and_capacity(len(items) - 1, capacity)
@enable_executor_hook
def optimum_subject_to_capacity_wrapper(executor, items, capacity):
items = [Item(*i) for i in items]
return executor.run(
functools.partial(optimum_subject_to_capacity, items, capacity))
if __name__ == '__main__':
exit(
generic_test.generic_test_main("knapsack.py", "knapsack.tsv",
optimum_subject_to_capacity_wrapper))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:knapsack.py
示例4: find_element_appears_once
from test_framework import generic_test
def find_element_appears_once(A):
# TODO - you fill in here.
return 0
if __name__ == '__main__':
exit(
generic_test.generic_test_main("element_appearing_once.py",
'element_appearing_once.tsv',
find_element_appears_once))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:13,代码来源:element_appearing_once.py
示例5: find_anagrams
import collections
from test_framework import generic_test, test_utils
def find_anagrams(dictionary):
sorted_string_to_anagrams = collections.defaultdict(list)
for s in dictionary:
# Sorts the string, uses it as a key, and then appends the original
# string as another value into hash table.
sorted_string_to_anagrams[''.join(sorted(s))].append(s)
return [
group for group in sorted_string_to_anagrams.values()
if len(group) >= 2
]
if __name__ == '__main__':
exit(
generic_test.generic_test_main(
"anagrams.py",
"anagrams.tsv",
find_anagrams,
comparator=test_utils.unordered_compare))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:26,代码来源:anagrams.py
示例6: multiply
from test_framework import generic_test
def multiply(x, y):
def add(a, b):
while b:
carry = a & b
a, b = a ^ b, carry << 1
return a
running_sum = 0
while x: # Examines each bit of x.
if x & 1:
running_sum = add(running_sum, y)
x, y = x >> 1, y << 1
return running_sum
if __name__ == '__main__':
exit(
generic_test.generic_test_main("primitive_multiply.py",
'primitive_multiply.tsv', multiply))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:22,代码来源:primitive_multiply.py
示例7: len
'{} > {}'.format(A[i - 1], A[i]))
if i + 1 < len(A):
if A[i] < A[i + 1]:
raise TestFailure().with_property(
PropertyName.RESULT, A).with_mismatch_info(
i, 'A[{}] >= A[{}]'.format(i, i + 1),
'{} < {}'.format(A[i], A[i + 1]))
else:
if i > 0:
if A[i - 1] < A[i]:
raise TestFailure().with_property(
PropertyName.RESULT, A).with_mismatch_info(
i, 'A[{}] >= A[{}]'.format(i - 1, i),
'{} < {}'.format(A[i - 1], A[i]))
if i + 1 < len(A):
if A[i + 1] < A[i]:
raise TestFailure().with_property(
PropertyName.RESULT, A).with_mismatch_info(
i, 'A[{}] <= A[{}]'.format(i, i + 1),
'{} > {}'.format(A[i], A[i + 1]))
executor.run(functools.partial(rearrange, A))
check_answer(A)
if __name__ == '__main__':
exit(
generic_test.generic_test_main("alternating_array.py",
'alternating_array.tsv',
rearrange_wrapper))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:alternating_array.py
示例8: get_height
from test_framework import generic_test
def get_height(cases, drops):
def get_height_helper(cases, drops):
if cases == 0 or drops == 0:
return 0
elif cases == 1:
return drops
if F[cases][drops] == -1:
F[cases][drops] = (get_height_helper(cases, drops - 1) +
get_height_helper(cases - 1, drops - 1) + 1)
return F[cases][drops]
F = [[-1] * (drops + 1) for i in range(cases + 1)]
return get_height_helper(cases, drops)
if __name__ == '__main__':
exit(
generic_test.generic_test_main("max_safe_height.py",
'max_safe_height.tsv', get_height))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:22,代码来源:max_safe_height.py
示例9: exit
prev, result = None, []
while tree:
if prev is tree.parent:
# We came down to tree from prev.
if tree.left: # Keep going left.
next = tree.left
else:
result.append(tree.data)
# Done with left, so go right if right is not empty. Otherwise,
# go up.
next = tree.right or tree.parent
elif tree.left is prev:
# We came up to tree from its left child.
result.append(tree.data)
# Done with left, so go right if right is not empty. Otherwise, go
# up.
next = tree.right or tree.parent
else: # Done with both children, so move up.
next = tree.parent
prev, tree = tree, next
return result
if __name__ == '__main__':
exit(
generic_test.generic_test_main("tree_with_parent_inorder.py",
'tree_with_parent_inorder.tsv',
inorder_traversal))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:29,代码来源:tree_with_parent_inorder.py
示例10: is_linked_list_a_palindrome
from reverse_linked_list_iterative import reverse_linked_list
from test_framework import generic_test
def is_linked_list_a_palindrome(L):
# Finds the second half of L.
slow = fast = L
while fast and fast.next:
fast, slow = fast.next.next, slow.next
# Compares the first half and the reversed second half lists.
first_half_iter, second_half_iter = L, reverse_linked_list(slow)
while second_half_iter and first_half_iter:
if second_half_iter.data != first_half_iter.data:
return False
second_half_iter, first_half_iter = (second_half_iter.next,
first_half_iter.next)
return True
if __name__ == '__main__':
exit(
generic_test.generic_test_main("is_list_palindromic.py",
'is_list_palindromic.tsv',
is_linked_list_a_palindrome))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:26,代码来源:is_list_palindromic.py
示例11: fibonacci
from test_framework import generic_test
cache = {}
def fibonacci(n):
if n <= 1:
return n
elif n not in cache:
cache[n] = fibonacci(n - 1) + fibonacci(n - 2)
return cache[n]
if __name__ == '__main__':
exit(
generic_test.generic_test_main("fibonacci.py", 'fibonacci.tsv',
fibonacci))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:18,代码来源:fibonacci.py
示例12: find_longest_subarray_less_equal_k
from test_framework import generic_test
def find_longest_subarray_less_equal_k(A, k):
# TODO - you fill in here.
return 0
if __name__ == '__main__':
exit(
generic_test.generic_test_main(
"longest_subarray_with_sum_constraint.py",
'longest_subarray_with_sum_constraint.tsv',
find_longest_subarray_less_equal_k))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:14,代码来源:longest_subarray_with_sum_constraint.py
示例13: reverse
begin, end = begin + 1, end - 1
reverse(0, len(A) - 1)
reverse(0, rotate_amount - 1)
reverse(rotate_amount, len(A) - 1)
# Although the following function is very natural way to rotate an array,
# its use of sublists leads to copy from original list, and therefore
# linear space complexity.
def rotate_array_naive(rotate_amount, A):
rotate_amount %= len(A)
A[:] = A[::-1] # reverse whole list
A[:rotate_amount] = A[:rotate_amount][::
-1] # reverse A[:rotate_amount] part
A[rotate_amount:] = A[rotate_amount:][::
-1] # reverse A[rotate_amount:] part
@enable_executor_hook
def rotate_array_wrapper(executor, A, rotate_amount):
a_copy = A[:]
executor.run(functools.partial(rotate_array, rotate_amount, a_copy))
return a_copy
if __name__ == '__main__':
exit(
generic_test.generic_test_main("rotate_array.py", 'rotate_array.tsv',
rotate_array_wrapper))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:rotate_array.py
示例14: number_of_ways_to_top
from test_framework import generic_test
def number_of_ways_to_top(top, maximum_step):
def compute_number_of_ways_to_h(h):
if h <= 1:
return 1
if number_of_ways_to_h[h] == 0:
number_of_ways_to_h[h] = sum(
compute_number_of_ways_to_h(h - i)
for i in range(1,
min(maximum_step, h) + 1))
return number_of_ways_to_h[h]
number_of_ways_to_h = [0] * (top + 1)
return compute_number_of_ways_to_h(top)
if __name__ == '__main__':
exit(
generic_test.generic_test_main("number_of_traversals_staircase.py",
"number_of_traversals_staircase.tsv",
number_of_ways_to_top))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:24,代码来源:number_of_traversals_staircase.py
示例15: add_interval
def add_interval(disjoint_intervals, new_interval):
# TODO - you fill in here.
return []
@enable_executor_hook
def add_interval_wrapper(executor, disjoint_intervals, new_interval):
disjoint_intervals = [Interval(*x) for x in disjoint_intervals]
return executor.run(
functools.partial(add_interval, disjoint_intervals,
Interval(*new_interval)))
def res_printer(prop, value):
def fmt(x):
return [[e[0], e[1]] for e in x] if x else None
if prop in (PropertyName.EXPECTED, PropertyName.RESULT):
return fmt(value)
else:
return value
if __name__ == '__main__':
exit(
generic_test.generic_test_main(
"interval_add.py",
'interval_add.tsv',
add_interval_wrapper,
res_printer=res_printer))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:interval_add.py
示例16: range
new_pivot_idx = left
A[pivot_idx], A[right] = A[right], A[pivot_idx]
for i in range(left, right):
if comp(A[i], pivot_value):
A[i], A[new_pivot_idx] = A[new_pivot_idx], A[i]
new_pivot_idx += 1
A[right], A[new_pivot_idx] = A[new_pivot_idx], A[right]
return new_pivot_idx
left, right = 0, len(A) - 1
while left <= right:
# Generates a random integer in [left, right].
pivot_idx = random.randint(left, right)
new_pivot_idx = partition_around_pivot(left, right, pivot_idx)
if new_pivot_idx == k - 1:
return A[new_pivot_idx]
elif new_pivot_idx > k - 1:
right = new_pivot_idx - 1
else: # new_pivot_idx < k - 1.
left = new_pivot_idx + 1
raise IndexError('no k-th node in array A')
return find_kth(operator.lt)
if __name__ == '__main__':
exit(
generic_test.generic_test_main("kth_largest_in_array.py",
'kth_largest_in_array.tsv',
find_kth_largest))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:kth_largest_in_array.py
示例17: has_three_sum
from test_framework import generic_test
from two_sum import has_two_sum
def has_three_sum(A, t):
A.sort()
# Finds if the sum of two numbers in A equals to t - a.
return any(has_two_sum(A, t - a) for a in A)
if __name__ == '__main__':
exit(
generic_test.generic_test_main("three_sum.py", "three_sum.tsv",
has_three_sum))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:15,代码来源:three_sum.py
示例18: generate_primes
from test_framework import generic_test
# Given n, return all primes up to and including n.
def generate_primes(n):
if n < 2:
return []
size = (n - 3) // 2 + 1
primes = [2] # Stores the primes from 1 to n.
# is_prime[i] represents (2i + 3) is prime or not.
# Initially set each to true. Then use sieving to eliminate nonprimes.
is_prime = [True] * size
for i in range(size):
if is_prime[i]:
p = i * 2 + 3
primes.append(p)
# Sieving from p^2, where p^2 = (4i^2 + 12i + 9). The index in is_prime
# is (2i^2 + 6i + 3) because is_prime[i] represents 2i + 3.
#
# Note that we need to use long for j because p^2 might overflow.
for j in range(2 * i**2 + 6 * i + 3, size, p):
is_prime[j] = False
return primes
if __name__ == '__main__':
exit(
generic_test.generic_test_main("prime_sieve.py", "prime_sieve.tsv",
generate_primes))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:prime_sieve.py
示例19: directed_generate_balanced_parentheses
result.append(valid_prefix)
return result
return directed_generate_balanced_parentheses(num_pairs, num_pairs, '')
def generate_balanced_parentheses_pythonic(num_pairs, num_left_open=0):
if not num_pairs:
return [')' * num_left_open]
if not num_left_open:
return [
'(' + p for p in generate_balanced_parentheses_pythonic(
num_pairs - 1, num_left_open + 1)
]
else:
return ([
'(' + p for p in generate_balanced_parentheses_pythonic(
num_pairs - 1, num_left_open + 1)
] + [
')' + p for p in generate_balanced_parentheses_pythonic(
num_pairs - 1, num_left_open - 1)
])
if __name__ == '__main__':
exit(
generic_test.generic_test_main("enumerate_balanced_parentheses.py",
'enumerate_balanced_parentheses.tsv',
generate_balanced_parentheses,
test_utils.unordered_compare))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:enumerate_balanced_parentheses.py
示例20: len
# one in it. We will discard those k items by one for each.
if len(table) == k:
for it in table:
table[it] -= 1
table = +table # remove all zero values
# Resets table for the following counting.
for it in table:
table[it] = 0
# Resets the stream and read it again.
stream = stream_copy
# Counts the occurrence of each candidate word.
for buf in stream:
if buf in table:
table[buf] += 1
# Selects the word which occurs > n / k times.
return [it for it, value in table.items() if value > n / k]
def search_frequent_items_wrapper(k, stream):
return search_frequent_items(k, iter(stream))
if __name__ == '__main__':
exit(
generic_test.generic_test_main(
"search_frequent_items.py", "search_frequent_items.tsv",
search_frequent_items_wrapper, test_utils.unordered_compare))
开发者ID:PollockCR,项目名称:Practice-Problems,代码行数:30,代码来源:search_frequent_items.py
注:本文中的test_framework.generic_test.generic_test_main函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论