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方法
}
}