题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

个人思路 :遍历数组获取到值进行计算,得到计算结果与目标值一致的保存索引在集合内,最后输出集合 和 指定索引的数值。

import java.util.ArrayList;
import java.util.Arrays;

public class soluction {
	public static ArrayList<int[]> index_list = new ArrayList<int[]>();
    public void twoSum(int[] nums, int target) {
        int num_1 = 0;
        int num_2 = 0;
        int target_tem = 0;
        
        for(int i = 0;i<nums.length;i++){
            for(int j = 0; j<i ; j++){
                if(i == j){
                	continue;
                }
                num_1 = nums[i];
                num_2 = nums[j];
                target_tem= num_1 + num_2 ;               
                if(target_tem == target ){
                	//return_num[0] = i;
                	//return_num[1] = j;
                	int [] list = {i,j};
                	index_list.add(list);
                }
            }
        }
    }
    public static void main(String[] args) {
    	
		soluction s = new soluction();
		int [] nums = {1,2,3,4,5,6};
		int target_number = 7;
		s.twoSum(nums, target_number);
		System.out.println("输入数组为:");
		System.out.println(Arrays.toString(nums));
		for(int[] obj : index_list) {
			System.out.println();
			System.out.print("下标索引是:");
			System.out.print(""+Arrays.toString(obj)+" ");
			System.out.print("这两个数值是");
			System.out.print(nums[obj[0]]+"、");
			System.out.print(nums[obj[1]]);
		}
	}
}


说点什么
暂时没有人评论
Loading...