# Must Learn Concepts in Arrays to solve any code!

Hello everyone!!💖

Today is all about arrays🤩. We know array is the most commonly used data structure of all. I guess most of us have got stuck with array concepts while coding, right? Why late? let's learn it perfectly so that we can solve any problem using an array.

### CONTENTS

- Basic Operations
- Rotating array using juggling algorithm
- Sliding Window Technique
- Prefix sum array
- Bonus concepts and problems

### Basic Operations

So, before starting with concepts we should be clear with the common syntax like **declaration**, **instantiation**, **initialization**, **passing an array to method**, etc.

Note: I will be providing java code with a Github link for every concept I discuss here!😊

**Insertion of an element****At the end of an array**`//pseudocode int[] arr = {1, 2, 3, 4, 5} insert k=7 //after insertion arr = [1, 2, 3, 4, 5, 7]`

**CODE**:- code for inserting an element at the end

**At a specified position**`//pseudocode int[] arr = {1, 2, 3, 4, 5} insert k=7, pos=3 //after insertion arr= [1, 2, 3, 7, 4, 5]`

**CODE**:- Code for inserting element at specified position

**Deletion**`//pseudocode int[] arr = {1, 2, 3, 4, 5} del value=3 //after deletion arr=[1, 2, 4, 5]`

**Sorting****CODE**:- code for sortIn this link, I have not used in-built methods or did not write a well-optimised code. Solved it in a way that you could understand😋(if newbie).

**Searching an element**`//pseudocode int[] arr = {1, 2, 3, 4, 5} search val=7 if found, print true else false`

**Reversing an array**`//pseudocode int[] arr = {1, 2, 3, 4, 5} //after reversing arr=[5, 4, 3, 2, 1]`

**CODE**:- Code for reversing an array

### Rotating array using juggling algorithm

By name, we can understand that rotation means simply shifting elements of an array by a specified number of positions. Rotations can be of 2 types: left and right. See below examples to get a clear understanding of what it is.

**Left Rotation**: Here, k=2 (where k is the number of positions to be shifted left).

**Right Rotation**: Here, k=2 (where k is the number of positions to be shifted right).

**Check this article to know more!** Juggling Algorithm😊

### Sliding Window Technique

Consider the following example, find Maximum sum of 'k' consecutive elements in an array.

```
arr[] = {5, 2, -1, 0, 3}
k = 3
Output : 6
```

To find this we generally use nested for-loop. So, this technique shows how a nested for loop in a few problems can be converted to a single for loop and hence reducing the time complexity.

**The Approach**:

**CODE**:- Sliding Window Technique Code

### Prefix sum array

```
//pseudocode
Input : arr[] = {10, 20, 10, 5, 15}
Output : prefixSum[] = {10, 30, 40, 45, 60}
```

We use this concept in many problems in long run. So, be sure you learn this.🤗

**CODE**:- Code for Prefix sum array

### Bonus concepts and problems

Now, try solving problems after learning all these concepts and let me know your approach and views.🤗

Thank you! Will meet you all in my next article.😍

### Articles you may like

Laasya you are doing a good job write posts about solving problems using the greedy approach and some of the techniques used in solving the competitive programming

Write posts about how to solve array problems of greedy approach type Sai Laasya Vabilisetty

## Comments (4)