Tin cá nhân đăng 11 phút trước
Bình Ắc quy CSB (khô kín khí) tháo máy.
Trong luong: 2kg
Kích thước : L151 x W65 × H94 x TH102 (#1)
Ắc quy 12V dùng cho: Bộ lưu điện UPS,lưu điện cửa cuốn,xe ga,loa kéo,xe điện trẻ em, bộ kích điện,thiết bị viễn thông,thiết bị mạng…
Hàng đã test ổn áp ok✨
Lh sđt , ib , z a l o
# 1. 两数之和
## 题目描述
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
## 示例
“`text
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
“`
## 解题思路
### 方法一:暴力法
遍历每个元素,并查找是否存在一个值与 target – x 相等的目标元素。
“`python
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
for j in range(i + 1, len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
“`
复杂度分析
– 时间复杂度:O(n^2),对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元素,这将耗费 O(n) 的时间。因此时间复杂度为 O(n^2)。
– 空间复杂度:O(1)。
### 方法二:哈希表
为了对运行时间复杂度进行优化,我们需要一种更有效的方法来检查数组中是否存在目标元素。如果存在,我们需要找出它的索引。保持数组中的每个元素与其索引相互对应的最好方法是什么?哈希表。
通过以空间换取速度的方式,我们可以将查找时间从 O(n) 降低到 O(1)。哈希表正是为此目的而构建的,它支持以近似恒定的时间进行快速查找。我用“近似”来描述,是因为一旦出现冲突,查找时间可能会退化到 O(n)。但只要你仔细地挑选哈希函数,在哈希表中进行查找的时间应当被摊销为 O(1)。
“`python
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashmap = {}
for i, num in enumerate(nums):
complement = target – num
if complement in hashmap:
return [hashmap[complement], i]
hashmap[num] = i
“`
复杂度分析
– 时间复杂度:O(n),我们只遍历了包含有 n 个元素的列表一次。在表中进行的每次查找只花费 O(1) 的时间。
– 空间复杂度:O(n),所需的额外空间取决于哈希表中存储的元素数量,该表最多需要存储 n 个元素。
## 总结
通过使用哈希表,我们可以将时间复杂度从 O(n^2) 降低到 O(n),这在处理大规模数据时非常有效。哈希表的使用是解决此类问题的常见方法,值得掌握。
Nhấn để hiện số: 090535****

Tình trạng:
Đã sử dụng

Xuất xứ:
Nước khác
Khu Vực
Phường Hòa Thuận Tây, Quận Hải Châu, Đà Nẵng
Hỏi người bán qua chat
Chia sẻ tin đăng này cho bạn bè:
Mã tin đăng: 92386457

Tin đăng này đã được kiểm duyệt. Nếu gặp vấn đề, vui lòng báo cáo tin đăng hoặc liên hệ CSKH để được trợ giúp. Xem thêm ››
Source link
Khám phá thêm từ Rao vặt giá tốt - Nội Thất [Ban.Pro.VN]
Đăng ký để nhận các bài đăng mới nhất được gửi đến email của bạn.