برنامه نویس
جمع دو عدد

سلام
بریم یک مثال باحال حل کنیم
باید یک تابع بنویسیم که ۲ تا ورودی میگیره یکی از نوع آرایه - اعداد ( nums ) و یکی از نوع عدد صحیح - هدف ( target ).
تا اینجا اوکی ولی کار تابع چیه؟
این تابع باید ۲ تا عدد در خروجی بصورت لیست بفرسته که در اصل این دو عدد آدرس ۲ عددی در لیست ورودی تابع هست که مجموع آنها برابر با target ه.
- توجه کنید که ممکنه اعداد تکراری در آرایه باشه و نباید از یک عدد دو بار استفاده بشود.
- جواب رو می توانیم به هر ترتیبی برگردانیم.
مثال ۱ :
123ورودی : nums = [2,7,11,15], target = 9 خروجی : [0,1] توضیح : nums[0] + nums[1] == 9
مثال ۲ :
12ورودی : nums = [3,2,4], target = 6 خروجی : [1,2]
مثال :
12ورودی : nums = [3,3], target = 6 خروجی : [0,1]
برای حلش، میتوانیم از یک دیکشنری استفاده کنیم که شماره هر عنصر را به عنوان کلید و مقدار آن را به عنوان مکان آن در آرایه ذخیره کند.
سپس در یک حلقه، هر عنصر را از آرایه بخواند و مقدار target را ازش کم و در متغیر complement ذخیره کند.
سپس مقدار complement را به عنوان کلید در دیکشنری جستجو کند. اگر پیدا شد، برای یافتن مکان هر عنصر، مقدار مکانیشون را از دیکشنری بخواند و به عنوان جواب برگرداند.
12345678910111213def twoSum(nums, target): # Create a dictionary to store the index of each number in nums num_dict = {} # Loop through each number in nums for i, num in enumerate(nums): # Check if the complement of the current number exists in num_dict complement = target - num if complement in num_dict: # If it does, return the indices of the two numbers return [num_dict[complement], i] # If it doesn't, add the current number and its index to num_dict num_dict[num] = i
لایک یادت نره.
شاد و موفق باشی!
مطلبی دیگر در همین موضوع
آشنایی با تکنیک PRG و رفع مشکل ثبتهای تکراری در دیتابیس
مطلبی دیگر در همین موضوع
چطور نمره PageSpeed Insights وبسایتم رو بالاتر ببرم ؟
مطلبی دیگر در همین موضوع
راهنمایی برای رباتهای معاملاتی ارزهای دیجیتال: تحلیل استراتژیها و عملکرد