 # DSA: Sliding Window Pattern

JavaScript Sliding window pattern
The use of the Sliding Window technique can be done in a very specific scenario, where the size of window for computation is fixed throughout the complete nested loop. Only then the time complexity can be reduced.

How to use Sliding Window Technique?

The general use of Sliding window technique can be demonstrated as following:

1. Find the size of window required
2. Compute the result for 1st window, i.e. from start of data structure
3. Then use a loop to slide the window by 1, and keep computing the result window by window.

Example:
Write a function called maxSubarraySum which accepts an array of integers and a number called num. The function should calculate the maximum sum of num consecutive elements in the array.

Time Complexity — O(N)

--

--

# What is Big O Notation, and why does it matter

“Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. It is a member of a family of notations invented by Paul Bachmann, Edmund Landau, and others collectively called Bachmann–Landau notation or asymptotic notation.”

— Wikipedia’s definition of Big O notation

--

--

# ReactJS and ChartJS

Whatis ChartJS?
Chart.js is a chart library that is available as a client-side JavaScript package. There are also derivatives for other frontend frameworks, like React, Vue, and Angular. It displays the chart on an HTML canvas element.

Quick Start

`npm install --save chart.js react-chartjs-2`

Then, import and use individual components:

`import { Doughnut } from 'react-chartjs-2';<Doughnut data={...} />`

After this quick start is done, create a component and add the following boiler plate for the Doughnut Chart.

If you need to work with a different graph chart all you need to change the Doughnut to Bar, Pie, Line.

--

--