1.两数之和
代码 :
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 public int[] twoSum(int[] nums, int target) { 2 int[] a=new int[2]; 3 for(int i=0;i<nums.length;i++){ 4 for (int j=i+1;j<nums.length;j++){ 5 if (nums[i]+nums[j]==target){ 6 a[0]=i; 7 a[1]=j; 8 return a; 9 } 10 } 11 } 12 return a; 13 }
测试代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 public class Solution { 2 3 public int[] twoSum(int[] nums, int target) { 4 int[] a=new int[2]; 5 for(int i=0;i<nums.length;i++){ 6 for (int j=i+1;j<nums.length;j++){ 7 if (nums[i]+nums[j]==target){ 8 a[0]=i; 9 a[1]=j; 10 return a; 11 } 12 } 13 } 14 return a; 15 } 16 17 public static void main(String[] args) { 18 Solution solution=new Solution(); 19 int[] nums={3,4,5,6,7}; 20 int[] b=solution.twoSum(nums,9); 21 System.out.println(b[0]); 22 System.out.println(b[1]); 23 } 24 }
关键点:一维数组,双重for循环,if条件判断
思路:首先通过一层循环遍历数组元素,获取第一个元素值
然后缩小遍历范围为(length-i),获取第二个元素值,
然后与目标值进行比对,如果比对成功则将获取值的下标填充到新建数组中,
最后将值返回。