给定一个整数数组 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);
           }
       }
    }

 

posted @ 2021-07-08 20:43  老油条666  阅读(1458)  评论(0)    收藏  举报