tip:少壮不努力老大徒伤悲,大三才意识到编程的重要性,希望为时不晚吧,学校课程学过C语言、Java、Python但由于自己是行动上的小矮子,所以学过的编程都忘了,以至于看力扣题解代码都很迷惑 en???这怎么和我学的不一样呢。只能拆分学习每一句代码,不吹不黑,如果你准备开始刷编程题,,一定要坚持下去,也以此监督我自己,希望以后不要为时晚矣.....
day01--两数之和
想法:刚看到这个题,有点排序的味道,只不过比较大小换成了相加,两层循环,第一层for(int i=0;i<数组长度-1;i++) 第二层 (int j=i+1;j<数组长度;j++) 关于为啥第一层i<数组长度-1 ,因为i循环到倒数第二个数时,里层循环j=j+i,就遍历到了最后一个。
Java代码
class Solution {
public int[] twoSum(int[] nums, int target) {
int i=0;
int j=0;
int a=nums.length;
for(i=0;i<a-1;i++){
for(j=i+1;j<a;j++){
if(nums[i]+nums[j]==target){
return new int[]{i,j};
}
}
}
return new int[0] ;
}
}
刚开始的时候就很蒙逼,这咋没有输入输出?......对自己也很无语,不会就我这样吧?
写的是一个函数/方法,把实现的代码封装起来,然后调用就可以了,public int[] towSum这里int[]就表明了函数返回值就是是个数组,所以return的时候要符合要求,T^T,然后twoSum(int[] nums, int target) 是函数要传的参数nums和target ,有点不太理解 return new int[]{i,j} 为啥这样写,我要是整明白了就再更新......
Python代码
class Solution(object):
def twoSum(self, nums, target):
a=len(nums)
for i in range(a-1):
for j in range(i+1,a):
if(nums[i]+nums[j]==target) :
return [i,j]
return []
Python代码简洁一点,但思路都是一样。其中关于self,self就是指类本身,towSum是在类中定义的函数,在类中定义的函数第一个参数永远是self,调用时不用传递参数。可以自己敲一下,测试一下自己对self的理解和疑惑,会更有效果
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
# print(self.name)
student=Student('康康',99)
print(student.name)