Leetcode第1题:两数之和
Posted 骐骥一跃,不能十步;驽马十驾,功在不舍。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode第1题:两数之和相关的知识,希望对你有一定的参考价值。
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
Python:
nums = [2, 7, 11, 15, 29] target = 17 # print(nums[0]) def calcOrder(nums, target): m = 0 n = 0 for i in range(len(nums) - 1): for j in range(i + 1, len(nums)): # print("i+j= ",nums[i]+nums[j]) if nums[i] + nums[j] == target: # print(i, j) m, n = i, j # print("result1", m, n) return m, n print(calcOrder(nums, target))
Java
public class SumOf2Nums { public static void main(String args[]) { int[] array1 = { 1, 4, 7, 11 }; int target = 12; SumOf2Nums s2n = new SumOf2Nums(); int[] orders = s2n.calcOrder(array1, target); for (int i = 0; i < orders.length; i++) { System.out.print(" " + orders[i]); } } public int[] calcOrder(int[] arr, int target) { int[] result = { 0, 0 }; for (int i = 0; i < arr.length - 1; i++) { for (int j = i + 1; j < arr.length; j++) { if (arr[i] + arr[j] == target) { result[0] = i; result[1] = j; } } } return result; } }
今晚学习成果:
1、Python面试110题看到第25题https://www.cnblogs.com/lmx123/p/9230589.html
2、自己独立实现了leetcode第1题
以上是关于Leetcode第1题:两数之和的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode做题笔记第167题:两数之和 II - 输入有序数组
LeetCode第167题—两数之和 II - 输入有序数组—Python实现