Java学习笔记,LeetCode算法题1

 

一开始的错误提示

 

 

  1.  可以看到题目一开始已经标明了返回值得类型为整型数组,但却写成了返回两个整型数据,而且return一次只能返回一个元素(一个整型,一个数组都行)。 1 return i,j; 
  2. 见上。
  3. 一开始的代码是这样的 1 System.out.println(new Solution.twoSum(test,3)); 一个类里的方法要先new才能使用它,既然是类就得有(),而且这样输出数组只会显示数组的首地址,想要用Arrays.toString记得要引入包。如果想直接在里面应该写成这样。 1 System.out.println(Arrays.toString(new Solution().twoSum(test,3)));  
  4. 要知道一个数组的长度用length就行了,length和length()的区别简单来说就是前者是知道数组有几个元素,后者是知道特定一个元素长度是多少。这里错是因为拼错了,写成了lenght,搞什么啊,注意拼写。
  5. 同上
  6. 简单说本代码是对两个整型的比较,而equals是object的方法,整形int没有继承Object,所以是用不了的。至于equals和==的区别,可以看https://blog.csdn.net/qq_36522306/article/details/80550210?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328602.60967.16152158676065303&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
  7. 见1 

 

最终的代码

 1 import java.util.Arrays;
 2 
 3 public class Hello{
 4    public static void main(String args[]){
 5         int[] test = {1,2,3,4,5};
 6         System.out.println(Arrays.toString(test));
 7         Solution solution = new Solution();//先new,再用.用里面的方法
 8         System.out.println(Arrays.toString(solution.twoSum(test,3)));
 9    }
10 }

 

 1 class Solution {
 2     public int[] twoSum(int[] nums, int target) {
 3         for(int i = 0;i < nums.length; i ++) {
 4             int temp1 = nums[i];
 5             for(int j = i+1;j < nums.length; j++) {
 6                 int temp2 = nums[j];
 7                 if((temp2+temp1) == target ) {
 8                     return new int[] {i,j};    
 9                 }
10             }
11         }
12         return new int[] {99,99};//随便写的数
13     }
14 }

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

posted on 2021-03-08 23:12  stuMartin  阅读(54)  评论(0编辑  收藏  举报

导航