题目:
给定一数字数列,如: 3,2,1,5,4,3,7,9, 返回 数字之和
等于指定值的 连续子序列
,比如 要求数字之和 等于 12
返回连续子序列 2 1 5 4
思路比较简单,
Java代码如下:
public class Main{
@Test
public void test39(){
int[] nums = {3,2,1,5,4,3,7,9};
getSubSequenceEqualTargetSum(nums,12);
}
public List<Integer> getSubSequenceEqualTargetSum(int[] nums,int target){
List<Integer> result = new ArrayList<>();
int sum=0;
int start = 0;
for(int i=0;i<nums.length;i++){
sum += nums[i];
if(sum == target){
System.out.println("----");
for(int j=start;j<=i;j++){
result.add(nums[j]);
System.out.print(nums[j]+" ");
}
break;
} else if(sum>target){
sum -= nums[start++];
}
}
return result;
}
}