tgoop.com/teachify/3973
Create:
Last Update:
Last Update:
✔️ چالش برنامهنویسی: Two Sum
یکی از سوالات پرطرفدار در مصاحبههای الگوریتمی، مسئلهی Two Sum است.
در این مسئله، یک لیست از اعداد و یک مقدار هدف (target) داده میشود. باید دو عددی که مجموع آنها برابر مقدار هدف است را پیدا کنیم و ایندکسهایشان را برگردانیم.
مثالها:
input: nums = [2,7,11,15], target = 9
output: [0,1] ( nums[0] + nums[1] = 9)
input: nums = [3,2,4], target = 6
output: [1,2]
input: nums = [3,3], target = 6
output: [0,1]
حل بهینه در پایتون (O(n)): استفاده از دیکشنری برای کاهش پیچیدگی زمانی!
def two_sum(nums, target):
hash_map = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hash_map:
return [hash_map[complement], i]
hash_map[num] = i
return []
]
+ مقدار مورد نیاز برای رسیدن به target را حساب کن.
+ اگر قبلاً در hash_map ذخیره شده بود، ایندکسها را برگردان.
+ در غیر این صورت، مقدار فعلی را در hash_map ذخیره کن.
#برنامهنویسی #الگوریتم #پایتون #مصاحبه_شغلی