LeetCode每日一题之两数之和

LeetCode每日一题之两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

思路

1、这道题要用到遍历、判断。
2、这道题的解法差不多为暴力遍历解法,将数组中所有的元素遍历后比较
3、与冒泡排序算法类似

解法:

public class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] s = new int[0];
        //
        for(int i=0;i<nums.length-1;i++){
            for(int j=i+1;j<nums.length;j++){
                if(nums[i]+nums[j]==target){ 
                //与冒泡排序了在判断条件上和返回值上不同外,
                s= new int[]{i, j};
                    break;
                }
            }
        }
    return s  }
}

思路延伸之冒泡排序

import java.util.Arrays;//要输出整个数组,则要用到toString方法,而toString方法,在java.util.Arrays包下

class Array{
    public static void main(String[] args) {
        int[] arr={1,5,3,7,4};//静态定义一个数组

        for(int i=0;i<arr.length-1;i++){
            for(int j=i+1;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    int x=arr[i];
                    arr[i]=arr[j];
                    arr[j]=x;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
        //想要将数组打印出来,可以直接调用toString方法
    }
}
上一篇:Object的理解


下一篇:C# 异常"关于对象不能从DBNull转换为其他类型