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

浙公网安备 33010602011771号