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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM