[LeetCode][Python][C#]刷题记录 1. 两数之和

第一次做发现很多小细节以前都没注意过,感觉还是蛮头疼的。

题目:

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

根据题目要求【你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。】

所以我们的思路就有了,只要每次循环只遍历后面的就可以啦,这样结果就不会重复惹。

上代码

python

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i in nums:
           for j in range(nums.index(i) + 1, len(nums)):
               if i + nums[j] == target:
                    list = [nums.index(i),j]
                    return(list)
nums = [2, 7, 11, 15]
target = 9
a = Solution()
print(a.twoSum(nums,target))

 c#

(好久没用过了,如果有错误和更好的写法请评论提醒我QUQ)

public class Program
    {
        public int[] TwoSum(int[] nums, int target)
        {
            for (int i = 0; i < nums.Length; i++)
            {
                for (int j = i+1; j < nums.Length; j++)
                {
                    if (nums[i] + nums[j] == target)
                    {
                        
                        return new int[] { i, j };

                    }

                }
            }
            throw new ArgumentException();
        }
        static void Main(string[] args)
        {
            int[] nums = { 2, 7, 11, 15 };
            Program pro = new Program();

            int[] result = pro.TwoSum(nums, 9);
            Console.WriteLine("[{0},{1}]",result[0],result[1]);
            Console.ReadKey();
        }
    }
原文地址:https://www.cnblogs.com/babydoll/p/9577357.html