Phỏng vấn top 150Dễ dàng

Sản phẩm của mảng ngoại trừ bản thân

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Sản phẩm của mảng ngoại trừ bản thân'.

Tuyên bố vấn đề

Dễ dàng

Cho một mảng số nguyên nums, hãy trả về một mảng answer sao cho answer[i] bằng tích của tất cả các phần tử của nums ngoại trừ nums[i].

Tích của bất kỳ tiền tố hoặc hậu tố nào của nums đều được đảm bảo vừa với số nguyên 32 bit.

Bạn phải viết một thuật toán chạy trong thời gian O(n) và không sử dụng phép chia.

Viết hàm productExceptSelf(nums: List[int]) -> List[int].

Ràng buộc
  • 2 <= len(nums) <= 10^5
  • -30 <= nums[i] <= 30
  • The product of any prefix or suffix of nums fits in a 32-bit integer

Ví dụ

Example 1
Input
nums = [1, 2, 3, 4]
Output
[24, 12, 8, 6]
Explanation

answer[0] = 2*3*4 = 24, answer[1] = 1*3*4 = 12, answer[2] = 1*2*4 = 8, answer[3] = 1*2*3 = 6.

Example 2
Input
nums = [-1, 1, 0, -3, 3]
Output
[0, 0, 9, 0, 0]
Explanation

Any product that includes the 0 at index 2 becomes 0. answer[2] = (-1)*1*(-3)*3 = 9.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Mảng & Băm như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.