Amazon Interview Question
Software DevelopersCountry: United States
solution in Scala:
object SumSubsequence {
def main(args: Array[String]): Unit = {
val subArray = Array(1,2,3)
val interval = (3,6)
println(getCountSumSubarray(subArray, interval))
}
def getCountSumSubarray(subArray : Array[Int], interval : (Int,Int)) : Int = {
var count = 0 // to count num of subsequenecs within range
var sum = 0
val n = subArray.length
for (i <- 0 until n) {
for (j <- i until n) {
for (k <- i to j) {
sum += subArray(k)
print(subArray(k))
}
println(" - sum = " + sum)
if (sum >= interval._1 && sum <= interval._2) {
count += 1
}
sum = 0
}
}
count
}
}
void FindSubarraySum(vector<int>vint,int low,int high)
- Anonymous April 09, 2018{
int count = 0;
int subsum = 0;
for(int i = 0;i<vint.size();i++)
{
subsum = 0;
for(int j=i;j>=0;j--)
{
subsum += vint[j];
if(subsum >= low && subsum <= high)
{
count++;
}
}
}
cout<<count<<endl;
}