O(n²) to O(n) in many problems.
public class MainApp1
{
public static void main(String[] args)
{
int[] users = {100,80,40,70,120,90,60};
int days = 3;
int total=0;
for(int i=0; i<days; i++)
{
total = total + users[i];
}
System.out.println("Total number of users visited in last 3 days");
System.out.println(total);
for(int i=1; i<=users.length-days; i++)
{
total = total - users[i-1] + users[i+days-1];
System.out.println(total);
}
}
}
Total number of users visited in last 3 days 220 190 230 280 270
public class MainApp2
{
public static void main(String[] args)
{
int[] arr = {100,80,40,70,120,90,60};
int size=3;
int total=0;
for(int i=0; i<size; i++)
{
total = total + arr[i];
}
int max=total;
for(int i=1; i<=arr.length-size; i++)
{
total = total - arr[i-1] + arr[i+size-1];
max = Math.max(total, max);
}
System.out.println("Maximum Sum Subarray : "+max);
}
}
Maximum Sum Subarray : 280
Try to solve the following problems using Sliding Window Technique:
Your feedback helps us grow! If there's anything we can fix or improve, please let us know.
We’re here to make our tutorials better based on your thoughts and suggestions.