给定一个整数数组 nums 和一个目标值 k,请实现一个方法判断 nums 中是否存在某个片段(即若干个相连元素)之和等于 k。要求时间复杂度为 O(n)。

public void twoPoint(int[] nums,int target){
    int low=0,high=nums.length-1;
    while (low<high){
       int sum=nums[low]+nums[high];
        if(sum==target){
            System.out.println(low+","+high);
        }else if(sum < target){
            low++;
        }else{
            high--;
        }
    }
}
public void twoSum(){
    int [] nums={1,2,6,5};
    int target=6;
    //暴力
    for(int i=0;i<nums.length;i++){
       for(int j=i+1;j<nums.length;j++){
           if(target-nums[i]==nums[j]){
               System.out.println(i+","+j);
           }
       }
    }
原文地址:https://www.cnblogs.com/shuai666/p/14988081.html