题目为:
给定一个整数数组muns和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们数组的下标。
思路是:
用目标target减去整数数组muns中的值,将得出的结果与muns中的其他数进行比较,如果两个数相等为真就输出这个数字的位置,如果不相等为假再和数组中的下一个数进行比较,直到整个数组结束,若没有则输出空。用for语句对整个数组进行遍历循环。
所用函数
len()函数
len()函数的作用是表示出数组函数的长度。比如nums=[1,2,3,4,5],则len(nums)=5
range()函数
range()函数用于生成一组数列,比如range(len(nums))=[0,1,2,3,4]
for函数
for()循环函数的作用是通过循环遍使历数组内的所有数
if函数
if与else函数的作用是判断最终的运算值是否属于数组内
用Python
class Solution:
def twoSum(nums,target):
%定义一个数组nums和一个目标traget
for i in range(len(nums):
%将nums数值用len()函数得出其长度,并由range()函数将长度得出一组由nums数组下标组成的数组。i通过for函数将nums数组的下标赋给i。
out = target - nums[i]
%由for使target减去nums数组中的每一个数,分别赋给out.
for j in range(len(nums)):
%j通过for函数将nums数组的下标赋给j.
if nums[j] == out:
%如果out的值等于nums中j下标的数
return [i,j]
%返回这两个数字所对应的下标。
用matlab
nums=[5 2 4 1 3]; 定义矩阵nums
target=input(‘enter target:’); %输入一个目标值
x=input(‘enter x:’); %输入想要进行计算的下标
a=target-nums(x); %将目标值与想要进行计算的值进行相减并赋给a
for i=1:1:5 %采用for循环
if anums(i) %如果a的值等于nums中的值
[row,col]=find(numsa); %找到矩阵nums中这个值的下标
else
b=0;
end
end
col %返回这个下标