Lớp Python: Tập thể dục-6 với giải pháp
Viết một lớp Python để tìm ba phần tử tổng hợp về 0 từ một tập hợp [mảng] của n số thực.
Giải pháp mẫu::
Mã Python:
class py_solution:
def threeSum[self, nums]:
nums, result, i = sorted[nums], [], 0
while i < len[nums] - 2:
j, k = i + 1, len[nums] - 1
while j < k:
if nums[i] + nums[j] + nums[k] < 0:
j += 1
elif nums[i] + nums[j] + nums[k] > 0:
k -= 1
else:
result.append[[nums[i], nums[j], nums[k]]]
j, k = j + 1, k - 1
while j < k and nums[j] == nums[j - 1]:
j += 1
while j < k and nums[k] == nums[k + 1]:
k -= 1
i += 1
while i < len[nums] - 2 and nums[i] == nums[i - 1]:
i += 1
return result
print[py_solution[].threeSum[[-25, -10, -7, -3, 2, 4, 8, 10]]]
Đầu ra mẫu:
[[-10, 2, 8], [-7, -3, 10]]
Trình bày bằng hình ảnh:
Flowchart:
Trực quan hóa thực thi mã Python:
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực hiện chương trình đã nói:
Trình chỉnh sửa mã Python:
Đóng góp mã và nhận xét của bạn thông qua Disqus.
Trước đây: Viết một lớp Python để tìm một cặp phần tử [chỉ số của hai số] từ một mảng đã cho có tổng bằng một số mục tiêu cụ thể. Hiện tại: Viết một lớp Python để thực hiện POW [X, N].
Write a Python class to find a pair of elements [indices of the two numbers] from a given array whose sum equals a specific target number.
Next: Write a Python class to implement pow[x, n].
Python: Lời khuyên trong ngày
Sử dụng năng suất để tạo ra một trình lặp đơn giản:
>>> def foo[lst]: >>> for x in lst: >>> yield x >>> yield x*2 >>> a = [1, 3] >>> list[foo[a]] [1, 2, 3, 6]
Thử thách Python - 1: Tập thể dục -9 với giải pháp
Viết một chương trình Python để tìm ba số từ một mảng sao cho tổng của ba số bằng 0.
Explanation:
Giải pháp mẫu:-:-
Mã Python:
# return a list of lists of length 3
def three_Sum[num]:
if len[num]> for x in lst:
>>> yield x
>>> yield x*2
>>> a = [1, 3]
>>> list[foo[a]]
[1, 2, 3, 6]