Lecture 04 - Array Part 1

Akash JaiswalAkash Jaiswal
3 min read

Array

Collection of similar type of data. Also the size of array is fixed.

  • Creating an Array

    syntax : datatype variable_name [size];

    example : int MyArray [5];

  • Initialisation

    int arr[5] = {1, 2, 3, 4, 5};

    int arr[] = {1, 2, 3, 4};

    int arr[5] = {1, 2}; // rest are automatically zero.

    • Error case:

      int arr[3] = {1, 2, 3, 4};

      int arr[] ;

  • Assignment

    arr[2]=10;

    for ( int i = 0; i < 5; i++) cin >> arr[i];

// note : make additional Article on Standard Template Library (STL)

Examples :

To find max element in an array

#include <iostream>
using namespace std;
int max(int* arr, int n){
    int maxelement = arr[0];
    for (int i = 1; i < n; i++){
        if (arr[i] > maxelement) 
            maxelement = arr[i];
    }
    return maxelement;
}
int main(){
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) cin >> arr[i];
    cout << max(arr, n);
    return 0;
}

Leetcode 26 - Remove duplicate from sorted array

#include <iostream>
#include <algorithm>
using namespace std;
int removeDuplicate(int* arr, int n){
    int a=arr[0];
    int temp[n];
    int k=1;
    temp[0]=arr[0];
    for(int i=1; i<n; i++){
        if (arr[i]==a) continue;
        else {
            a=arr[i];
            temp[k]=arr[i];
            k++;
        }
    }
    for(int i=0;i<k;i++){
        arr[i]=temp[i];
    }
    return k;
}
int main(){
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) cin >> arr[i];
    sort(arr,arr+n);
    int k = removeDuplicate(arr, n);
    for(int i=0;i<k;i++){
        cout << arr[i]<<" ";
    }
    return 0;
}

Leetcode 66 - Plus one

#include <iostream>
#include <vector>
using namespace std;

vector<int> plusOne(vector<int>& digits) {
    int n = digits.size();

    for (int i = n - 1; i >= 0; i--) {
        if (digits[i] < 9) {
            digits[i]++;
            return digits;
        } else {
            digits[i] = 0;
        }
    }

    // If all digits were 9, we need to add a new leading 1
    digits.insert(digits.begin(), 1);
    return digits;
}

int main() {
    vector<int> digits = {9, 9, 9};  // Example input
    vector<int> result = plusOne(digits);

    cout << "Result: ";
    for (int d : result) {
        cout << d;
    }
    cout << endl;

    return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
void plusOne(int* arr, int n){
    int num = 0;
    for(int i = 0 ; i < n ; i++)
        num = num*10+arr[i];
    num+=1;
    int temp = num;
    int size =0;
    while (temp != 0){
        temp=temp/10;
        size +=1;
    }
    int anotherArray[size];
    for(int i = 0 ; i < size ; i++){
        anotherArray[i] = num % 10;
        num/=10;
    }
    reverse(anotherArray,anotherArray+size);
    for(int i=0;i<size;i++){
        cout << anotherArray[i]<<" ";
    }

}
int main(){
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) cin >> arr[i];
    plusOne(arr, n);
    return 0;
}

Leetcode 88 - Merge Sorted Array

#include <iostream>
#include <vector>
using namespace std;

vector<int> mergeSortedArrays(vector<int>& arr1, const vector<int>& arr2, int m, int n) {
    int i = m - 1;
    int j = n - 1;
    int k = m + n - 1; 
    while (i!=-1 || j!=-1){
        if(arr1[i] >= arr2[j]){
            arr1[k] = arr1[i];
            k--;i--;
        }
        else{
            arr1[k] = arr2[j];
            k--;j--;
        }
    }
    if(i==(-1)){
        while(j!=-1){
            arr1[k] = arr2[j];
            k--;j--;
        }
    }
    else if(j==(-1)){
        while(i!=1){
            arr1[k] = arr1[i];
            k--;i--;
        }
    }
    return arr1;
}

int main() {
    vector<int> arr1 = {1, 3, 5, 0, 0, 0};
    vector<int> arr2 = {2, 6, 7};
    int m, n;
    m = arr1.size();
    n = arr2.size();
    m = m - n;
    vector<int> result = mergeSortedArrays(arr1, arr2, m, n);
    cout << "Merged array: ";
    for (int num : result) cout << num << " ";
    cout << endl;
    return 0;
}
0
Subscribe to my newsletter

Read articles from Akash Jaiswal directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Akash Jaiswal
Akash Jaiswal